CN101919250A - 像素块处理 - Google Patents

像素块处理 Download PDF

Info

Publication number
CN101919250A
CN101919250A CN2008801251620A CN200880125162A CN101919250A CN 101919250 A CN101919250 A CN 101919250A CN 2008801251620 A CN2008801251620 A CN 2008801251620A CN 200880125162 A CN200880125162 A CN 200880125162A CN 101919250 A CN101919250 A CN 101919250A
Authority
CN
China
Prior art keywords
pixel
property value
pixel property
value
candidate
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
CN2008801251620A
Other languages
English (en)
Other versions
CN101919250B (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
Priority claimed from PCT/EP2008/056288 external-priority patent/WO2009092455A2/en
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority claimed from PCT/SE2008/051038 external-priority patent/WO2009093947A1/en
Publication of CN101919250A publication Critical patent/CN101919250A/zh
Application granted granted Critical
Publication of CN101919250B publication Critical patent/CN101919250B/zh
Expired - Fee Related 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/115Selection of the code volume for a coding unit prior to 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/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/162User input
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

将像素块(300)无损压缩为候选压缩块。如果候选块的比特长度超过阈值,对块(300)中像素(310-317)的属性值进行量化,并将经量化的值无损压缩为新的候选压缩块。重复该过程,直到找到具有良好图像质量且比特长度低于阈值的候选压缩块。块(300)的压缩表示(400)是基于所找到的候选压缩块(420)和所使用的量化参数的标识符(410)而确定的。

Description

像素块处理
技术领域
本发明总体涉及像素块处理,具体涉及图像和纹理块的压缩和解压。
背景技术
为了提高图形处理单元的(GPU)的性能,带宽减小技术仍是重要的。由于计算能力每年的性能增长率远远大于动态随机存取存储器(DRAM)的带宽和延迟的增长率,带宽减小技术尤其重要。在目前的GPU(如来自NVIDIA的GeForce 8800架构)中已经能够看到这种效果,其中,每纹素读取大约有14次标量运算。虽然有时可以利用更多的运算代替存储器读取来对算法进行转换,但在特定时刻,可能满足计算需求,此时GPU将是空闲的,等待存储器访问请求。
一种减小带宽需求的方式是执行所谓纹理或图像压缩。通过以压缩形式在存储器中存储纹理,并以压缩形式通过总线传输经压缩的纹理的块,可以极大地降低纹理带宽。
最近,高动态范围(HDR)纹理开始变得流行起来。因此,引入了多种高动态范围纹理压缩方案[1-3]。
Munkberg[1]和Roimela[2]的方法依赖于处理不同于色度的亮度。原因在于,眼睛对色度误差不是那么敏感,从而同亮度相比可以花费较少的比特对色度进行编码。然而,就硬件而言,这些现有技术方法中使用的从RGB颜色空间到亮度/色度颜色空间的转换代价高昂。
Wang的算法[3]的缺陷在于,针对高比特速率提供较低的质量。
发明内容
因此,需要一种高效的纹理和图像压缩和解压方案,可用于处理HDR纹理但不具有上述的现有技术方案的局限。
本发明的一般目的是提供一种能够对HDR纹理进行压缩和解压的高效图像处理方案。
上述和其他目的是由所附专利权利要求限定的发明实现的。
简言之,本发明涉及对由具有相关属性值的像素组成的块进行压缩和解压。在压缩中,将像素块无损压缩为候选压缩块。将产生的候选块的长度与目标比特长度进行比较。如果其超过目标比特长度,针对该块提供量化参数,并基于该参数对属性值进行量化。以经量化的值作为输入值,再次对该块进行无损压缩,以得到新的候选压缩块。以不同的量化参数重复该过程,直到候选压缩块的比特长度等于或小于目标比特长度。优选地,产生的候选压缩块具有最小可能量化,但仍满足长度要求。块的压缩表示是基于所选候选压缩块的比特序列和标识符的比特序列确定的,所述标识符允许标识用于产生所选候选压缩块的量化参数。
当对压缩像素块进行解压时,标识与候选压缩块相对应的第一比特序列,并对其进行解码,以得到至少一个像素属性值。标识与量化参数标识符相对应的压缩块的第二比特序列。如果该标识符具有预定义值,该预定义值指示在当前块的压缩期间未执行有损量化,可以直接从经解码的属性值来确定像素属性值的表示。然而,如果标识符指示执行了有损量化,首先利用第二比特序列所指示的量化参数,对像素的经解码的属性值进行解量化。属性值的表示是基于该经解码和解量化的值提供的。
本发明还涉及压缩器或编码器以及解压器或解码器。
本实施例提供了对纹理的高效压缩和解压,并且能够甚至处理高动态范围属性值。
附图说明
通过参考结合附图的以下说明可以最佳地理解实施例及其进一步的目的和优点,附图中:
图1是示出了根据实施例的压缩方法的流程图;
图2根据实施例的像素块的示意图;
图3是示出了图1中压缩方法的无损压缩步骤的实施例的流程图;
图4是示出了图3中压缩方法的预测确定步骤的实施例的流程图;
图5是示出了图1中压缩方法的量化步骤和图11中解压方法的解量化步骤的实施例的流程图;
图6是示出了图1中压缩方法的量化步骤的另一实施例的流程图;
图7是示出了图1中压缩方法的量化步骤的又一实施例的流程图;
图8是示出了图1中压缩方法的附加、可选步骤的流程图;
图9是根据实施例的块的压缩表示的总体示意图;
图10是根据另一实施例的块的压缩表示的总体示意图;
图11是示出了根据实施例的解压方法的流程图;
图12是示出了图11中解压方法的解量化步骤的实施例的流程图;
图13是示出了图11中解压方法的解量化步骤的另一实施例的流程图;
图14是示出了图11中解压方法的解码步骤的实施例的流程图;
图15是根据实施例的压缩器的示意框图;
图16是图15中压缩器的无损压缩器的实施例的示意框图;
图17是图15中压缩器的预测确定器的实施例的示意框图;
图18是图15中压缩器的值量化器的实施例的示意框图;
图19是图15中压缩器的值量化器的另一实施例的示意框图;
图20是图15中压缩器的值量化器的又一实施例的示意框图;
图21是根据实施例的解压器的示意框图;
图22是图21中解压器的表示确定器的实施例的示意框图;
图23是图21中解压器的表示确定器的另一实施例的示意框图;
图24是图21中解压器的表示确定器的又一实施例的示意框图;以及
图25是图21中解压器的解码器的实施例的示意框图。
具体实施方式
在附图中,对相应或相似的元件使用相同的参考标记。
本发明总体涉及像素属性值的压缩和解压,具体涉及适于纹理压缩和解压的这样一种压缩和解压,以及针对高动态范围纹理的这样一种处理。
本发明完全适于与诸如游戏、三维(3D)地图和场景、3D消息(如动画消息)、屏保、人机接口(MMI)等3D图形一起使用,但不限于此。因此,如此处所公开的,还可以对其他类型的图像或图形(如一维(1D)、二维(2D)或3D图像)进行处理。
在本公开中,压缩和解压共同地处理多个像素,典型地以像素的块(在本领域中通常表示为像素块或像素片)的形式处理像素。在优选实施例中,像素块具有M×N像素的尺寸,其中M、N是整数,且M和N不同时为1。优选地,M=2m且N=2n,其中m、n是零或整数,且m和n不同时为0。在典型实现中,M=N,并且优选地这种块的实施例可以是4×4像素、8×8像素或16×16像素。
表述像素或“块元素”指块或块的编码表示的元素。继而,该块对应于图像或纹理的一部分。因此,像素可以是1D、2D、3D纹理的纹素(纹理元素);1D或2D图像的像素;或3D图像的体素(体元素)。一般地,以相关像素参数或属性值来表征像素。
存在不同的这种特征属性值,典型地可以根据要压缩/解压哪种像素块将所述特征属性值分配给像素。例如,属性值可以是分配给像素的颜色值。如本领域所公知的,不同的颜色空间是可用的,并且可用于表示颜色值。一般的这种颜色空间是所谓红、绿、蓝(RGB)颜色空间。因此,像素属性值可以是RGB颜色的红色值、绿色值或蓝色值。
还可以以亮度和色度分量的形式来表示像素颜色。在这种情况下,可以使用变换将RGB颜色值转换为亮度值以及典型地两个色度分量。本领域中亮度-色度空间的示例包括YUV、YCoCg和YCrCb。因此,属性值还可以是这种亮度值(Y)或色度值(U,V,Co,Cg,Cr或Cb)。然而,从RGB到其他颜色格式的变换及其对应的反变换就硬件而言通常代价高昂。因此,RGB颜色是可与本实施例一起使用的有利的像素颜色。
但是,这些实施例可用于除RGB以外的、本领域中用于纹理和图像的像素的其他属性值的上下文中。因此,根据本发明的像素的属性值可以是RGB颜色的R值、G值或B值或上述和/或本领域中使用的某些其他属性值。
此外,以下,术语“图像”用于表示可以利用本实施例进行编码和解码的任何1D、2D或3D图像或纹理,包括但不限于凸凹贴图、法线贴图、照片、游戏型纹理、文本、图画、高动态范围图像和纹理等。
实施例有利地用于对HDR属性值进行压缩,但也可以高效地用于处理所谓低动态范围(LDR)属性值。在本领域中,后者典型地由8比特整数的有限解析度表示。作为明显的对比,HDR一般涉及利用浮点数,如fp 16(又称半精度)、fp 32(浮点)或fp64(双精度),来表示属性值。
然而,半精度的浮点属性引起问题。由于浮点数的密度是非均匀的,两个浮点数间的差可能无法表示为具有相同精度的浮点数。通过将每个浮点数映射为相应的整数表示可以解决该问题。这基本对应于向每个浮点数分配唯一的整数。因此,从浮点到整数域的映射涉及:将更大的整数分配给更大的浮点数,浮点数0.0将被分配整数表示0,下一次小正浮点数被分配1,再下一次小浮点数被分配2,以此类推。
在整数域中进行计算和算术预算还避免了代价高昂的浮点运算。此外,由于压缩是无损的,还获得了对非数(NaN)、无穷(Inf)和非标准数(异常)的正确处理。在这种情况下,在压缩期间,浮点数根据以上介绍的映射被解释为整数。解压后,再通过上述整数和浮点数间的一一映射重新将整数解释为浮点数。
本发明涉及适于纹理和其他图像类型的块压缩或编码以及解压或解码,其中需要随机访问和固定速率。如本领域所公知的,在光栅化期间可以按任意顺序访问纹素和纹理中的像素。因此,由于固定速率纹理压缩系统允许在不使用复杂的查找机制的情况下随机寻址,因此是所期望的。此外,优选地,解压应当是快速的并且以GPU硬件实现代价相对不高,虽然对于可以在中央处理单元(CPU)中“离线”执行的压缩而言这些要求不一定是需要的。
本领域中的传统方式使用有损压缩方案来实现固定比特率。然而,本发明采用根本上不同的方式,将无损压缩与单独的量化过程一起使用。这允许逐块独立调整像素的属性值的量化等级,从而达到尽可能高的质量,并仍在块的固定目标比特长度的比特预算以内。
压缩
图1是示出了根据实施例的、对多个像素的块进行压缩的方法的流程图。块的每个像素具有至少一个相应的像素属性值,如相应的R、G和B值。
该方法起始于步骤S1,其中,利用所定义的无损压缩算法对块的原始属性值进行无损压缩,以得到块的候选压缩表示以及块的候选压缩表示的属性值。给定步骤S1中无损压缩的性质,所产生的候选压缩块的比特长度可能大于或等于(对应于无损压缩实际不可能的情况)或小于块的原始比特长度,块的原始比特长度被定义为N×M×0,其中N表示块的行中的像素数,M表示块的列中的像素数,O表示像素的相应像素属性值的总比特数,典型地,对于HDR纹理为3×16。
在步骤S1中实际可以使用现有技术中已知的、适于处理特定属性值(优选地半色值)的任何无损压缩算法。如此处进一步讨论的,典型地,基于预测的无损压缩是优选的。
下一步骤S2将候选压缩块的结果比特长度BL与所定义的目标或阈值比特长度T进行比较。在优选实施例中,优选地,该目标比特长度T定义为T=Ttarget-TQP,其中,Ttarget是由于固定速率要求而可以用在压缩块上的总比特数,TQP是此处进一步讨论的、分配给压缩块的量化参数的标识符所需的比特数。
如果在步骤S2中候选压缩块的比特长度等于或小于目标比特长度,方法继续至步骤S5。该步骤S5基于来自步骤S1的无损候选压缩块来提供像素块的压缩表示。此外,优选地,压缩表示还包括量化参数标识符,该量化参数标识符具有指示当前块确实可以无损压缩并仍满足目标比特长度的值。压缩表示的总尺寸是BL+TQP比特,满足要求BL+TQP≤Ttarget
接着,方法结束,或优选地返回步骤S1(由线L1示意表示),对当前图像或纹理的其他块或片进行压缩。
然而,如果在步骤S2中来自步骤S1的候选压缩块的比特长度超过目标比特长度,则方法继续至步骤S3。在步骤S3中,提供指示有损处理并且适用于当前块的量化参数,以用于对块的像素属性值进行量化的目的。为了将块的属性值量化为经量化的像素属性值,在下一步骤S4中利用该量化参数。
接着,在步骤S1中再次对块进行无损压缩,然而,以经量化的属性值代替原始属性值作为输入。因此,虽然在步骤S1中执行的压缩同样是无损的,但由于量化步骤S4,所产生的候选压缩块通常将是块的有损压缩表示。与第一遍相同的方式执行步骤S1的无损压缩,但存在以下重要的区别:此时经量化的属性值代替原始属性值作为输入数据。
在步骤S2中,再次将所产生的压缩块的比特长度与目标比特长度进行比较。应注意的是,在第二遍执行步骤S2中使用的目标比特长度可以不同于第一遍所用的目标比特长度。其原因在于,每次执行步骤S2时,量化参数的标识符所需的比特数可能不同。
作为步骤S4中执行的量化的结果,优选地,同使用原始的、未经量化的值相比,在无损压缩中可以将块压缩至更短的比特长度。这意味着,第二遍无损压缩后的比特长度比第一遍无损压缩后的比特长度短。
如果此时在步骤S2中所产生的比特长度等于或小于目标比特长度,方法继续至步骤S5,其中,块的压缩表示是基于经过量化和后续无损压缩得到的候选压缩块提供的。此外,优选地,针对当前候选压缩块,压缩表示还包括在步骤S4中采用的量化参数的标识符,该参数还指示:由于量化,候选块是通过有损处理获得的。
然而,如果在步骤S2中比特长度仍超过目标比特长度,方法继续至步骤S3。在该步骤中,提供量化参数。在优选实施例中,该量化参数与在由步骤S1、S2、S3和S4限定的第一遍循环中使用的量化参数不同。在这种情况下,在步骤S4中使用该量化参数对原始属性值进行量化,以得到块的新的经量化的属性值。每次执行步骤S1至S4的循环时对原始像素属性值应用新的量化参数是一种优选方式。
可替代地,一种可选方式对第一遍循环后获得的经量化的属性值应用步骤S3中提供的量化参数。因此,如果fQP()表示对像素属性值pij进行量化的运算,那么如果在第一和第二遍中使用相同的量化参数,第二遍循环后的经量化的属性值将是fQP(fQP(pij))。
重复步骤S1至S4的循环,在步骤S4中基于来自步骤S3的量化参数执行新的量化过程,接着执行步骤S1的无损压缩,直到压缩块的比特长度等于或小于目标比特长度。可以通过在第一次执行步骤S4时应用最小可能量化而后每次执行后续循环时相继提高量化度来执行该过程。在这种情况下,选择并使用比特长度等于或小于目标比特长度的第一候选压缩块,以在步骤S5中提供块的压缩表示。
在可选方式中,在步骤S4第一次活动时,执行最大可用量化,接着每次执行后续循环时逐步降低量化度。在这种情况下,候选压缩块是比特长度低于目标比特长度且先于产生第一候选压缩块的循环的候选压缩块,所述第一候选压缩的长度超过了目标比特长度。
可选搜索当然是可行的,如利用二分查找在可用量化参数间搜索。例如,第一次执行步骤S3时,提供导致在步骤S4中对像素属性值的最小量化的量化参数。如果在以该参数进行量化并进行步骤S1的无损压缩后,比特长度超过目标比特长度,下一遍步骤S3测试位于在步骤S4中给出最小量化的参数和导致最大可用量化的参数之间的量化参数。如果比特长度仍超过目标比特长度,选择导致最大量化和“中等”量化之间的量化的量化参数,以此类推。如果相反比特长度低于目标比特长度,选择导致最小量化和“中等”量化之间的量化的量化参数。优选地,重复该过程,直到在仍不满足目标长度的最小量化和满足目标长度的最小量化之间不再存在“中等”量化为止。此时,选择后一量化参数。
优选地,最大量化被设置为确保每个可能的块在压缩后低于目标比特长度的级别。
一般地,图1的方法选择出在步骤S4中执行了尽可能小的量化但比特长度仍等于或小于目标比特长度的候选压缩块,并且该候选压缩块用于步骤S5的提供压缩块表示。
一旦在步骤S5中对块进行了正确地压缩,并且满足步骤S2的目标比特长度要求,方法就结束或返回步骤S1,以压缩纹理的新像素块。
应注意的是,给定要根据图1公开的方法压缩的输入纹理,可以使用不同等级的量化来压缩不同的像素块。例如,对块的第一集合进行无损压缩,因此,块的第一集合具有表示无损压缩的量化参数。为了在进行无损压缩时达到目标比特长度,必须对输入块的其他集合进行量化。因此,某些块可以使用第一量化参数,某些块使用第二量化参数,以此类推。
优选地,在压缩方法中使用的无损压缩是基于预测的压缩算法。图3示意了这种算法。该方法起始于步骤S10,其中,针对要编码的像素来确定属性值的预测。优选地,预测库是与当前像素相邻的一个或多个相邻像素,典型地存在于同一行或列中。
下一步骤S11基于像素的原始或经量化的属性值及其预测,计算像素的预测误差。优选实现计算预测误差,作为属性值及其预测之间的差
Figure BPA00001184813900091
其中pij表示原始或经量化的属性值,
Figure BPA00001184813900092
是对原始或经量化的属性值的预测,是预测误差。
优选地,针对块中多个像素的至少一部分,重复步骤S10和S11。在这种情况下,这些像素中的每个像素具有相关的预测误差。块中的一个或多个像素可以被用作起始或重新起始像素,因此不具有任何预测或预测误差。因此,优选地,在候选压缩块中对这些像素的值进行显式编码,而不进行预测或熵编码。
在后续步骤S12中对来自步骤S11的预测误差进行熵编码,从而得到像素的相应的编码表示。此时,候选压缩块包括这些经熵编码的预测误差,以及优选地上述起始/重新起始像素属性值。方法继续至图1的步骤S2,其中,评估所产生的候选压缩块的比特长度。
此处,给出对无损的、基于预测的压缩算法的更详细的描述。但本发明不限于此,相反可以对所给出的算法以及现有技术中的其他已知无损压缩算法进行各种修改。
在优选实施例中,首先针对要压缩的块选择起始属性值。优选地,该起始属性值是位于块中所定义的位置处的像素的属性值。参考示意了像素块300的示例的图2,优选地,该所定义的位置是块中的第一像素位置310,即位于左上角。可能的起始像素位置的其他示例可以是其他块角落中的任一个。实际上,块中的任何预定义位置都可用作起始位置,虽然角落位置特别是左上角像素310极大地简化了块的压缩。
在对纹理进行压缩的情况下,每个像素具有相应的R、G和B分量,起始属性值被选为等于起始像素310的颜色分量之一(优选红色分量)。候选压缩块包括所选起始属性值的表示pstart=R11
接下来,以对像素进行压缩来进一步讨论压缩,其中像素属性值是红色分量。然而,这应当仅仅被看作说明性而非限制性示例。此后,确定对与起始像素310属于块的同一行或列的剩余像素311、312、313的预测。在优选实现中,这涉及基于块的像素行或列中先前相邻像素的红色分量来确定红色分量预测。例如,第一行中的像素311、312可能具有等于R1(j-1)的预测
Figure BPA00001184813900101
其中j=2,3,...,并且R11是以上选择的起始分量值。第一列中像素313的对应预测定义为
Figure BPA00001184813900102
其中i=2,3,...,并且R11是起始分量值。可选地,基于第一行/列中的紧接前一像素和再前面一个像素来确定预测,如
Figure BPA00001184813900103
并且举例而言,
Figure BPA00001184813900104
其中j=3,...。
此时已经确定了针对像素311、312、313的红色分量的预测,并且算法继续执行,提供对块中剩余像素314、315、316、317的预测。图4的流程图中示出了该过程。该预测提供操作起始于步骤S20。该步骤S20涉及计算块300中第一相邻像素316的红色分量和块300中第二相邻像素315的红色分量之间的差。因此,这两个相邻像素315、316与块300中要压缩的当前像素317相邻。此外,像素315、316与相对于当前像素317的两个不同的预测方向相关。在优选实施例中,这两个相邻像素315、316包括块300的同一行中的先前像素316和块300的同一列中的先前像素315。
优选地,步骤S20的计算涉及计算差R(i-1)j-Ri(j-1),其中Rij表示块位置(i,j)处的像素的红色分量。由于差的幅度是相关的而符号无关,因此在步骤S20中可以计算绝对差|R(i-1)j-Ri(j-1)|。在可选方式中,在步骤S20中可替代地计算平方差(R(i-1)j-Ri(j-1))2。当然,除以上两种之外的其他幅度表示也是可行的。
在任一情况下,接着,将所计算的差表示与所定义的阈值h进行比较。
因此,可以将比较实现为
Figure BPA00001184813900105
Figure BPA00001184813900106
如果相邻像素315、316的红色分量之间的差小于阈值,方法从步骤S20继续至步骤S21,否则方法继续至步骤S22。
可以在优化过程中确定阈值h的值,优化过程的优化目标是压缩尽可能多的不同纹理的块,并产生就比特数而言尽可能短的块压缩长度。根据本发明可以使用并且由初步优化过程获得的阈值的非限制示例是h=2048。然而,阈值的实际值取决于多种因素,包括所用的特定颜色格式、颜色分量值的可用范围等。该值2048对于RGB颜色表现良好,在RGB颜色中颜色分量表示为半精度浮点数。
步骤S21涉及基于这两个相邻像素315、316的红色分量来计算当前像素317的颜色分量预测。换言之,
Figure BPA00001184813900111
其中
Figure BPA00001184813900112
对当前像素Rij的预测,f()是函数,优选地定义了两个相邻红色分量的第一加权组合
Figure BPA00001184813900113
还可以对第一加权组合进行舍入、上取整或下取整,以得到整数预测值。
在优选实施例中,步骤S21基于两个相邻像素的红色分量的平均来计算像素预测
Figure BPA00001184813900114
Figure BPA00001184813900115
在优选实现中,将所计算的平均值用作预测,即
Figure BPA00001184813900116
如果仅采用整数预测,可以对商进行舍入,或输入至根据
Figure BPA00001184813900117
的下取整,或作为替代进行对应上取整。基于平均数确定的其他预测也是可行的,如
Figure BPA00001184813900118
如果相反在步骤20中调查发现差不小于阈值,方法继续至步骤S22。步骤S22包括:计算当前像素317的红色分量和相邻像素315、316的红色分量的第二加权组合WC2之间的第一差。步骤S22还涉及:计算当前像素317的红色分量与相邻像素315、316的红色分量的不同的第三加权组合WC3之间的第二差。接着,像素317的颜色分量预测被选择为基于(优选地等于)这两个相邻红色分量的第二和第三加权组合之一。此外,基于这两个所计算的差来执行该预测选择。一般地,选择与所调查的像素的红色分量最接近的加权组合。因此,如果|Rij-WC2|<|Rij-WC3|或等效地(Rij-WC2)2<(Rij-WC3)2或者实际上(虽然不是优选的)|Rij-R(i-1)j|<|Rij-Ri(j-1)|,在步骤S23中选择红色分量的第二加权组合作为红色预测
Figure BPA00001184813900119
否则在步骤S24中选择第三加权组合作为红色预测
Figure BPA000011848139001110
两个相邻红色分量的三个加权组合是不同的加权组合,即,使用不同的权重:
Figure BPA000011848139001111
Figure BPA000011848139001112
Figure BPA000011848139001113
如以上结合第一加权组合所讨论的,可以对第二和第三加权组合进行舍入、上取整或下取整,以得到整数值。
第一加权组合或线性组合的权重
Figure BPA000011848139001114
是非零权重,并且优选地在区间0<w1<1中。优选地,第二和第三加权组合的权重也是非零的,但每个加权组合中的一个权重可以是零。在这种情况下,
Figure BPA00001184813900121
优选地
Figure BPA00001184813900122
优选地
Figure BPA00001184813900123
在优选实施例中,
Figure BPA00001184813900124
其中
Figure BPA00001184813900125
更优选地,
Figure BPA00001184813900126
在这种情况下,第二加权组合是
Figure BPA00001184813900127
且第三加权组合是
Figure BPA00001184813900128
第二和第三组合的适当权重值的示例可以是WC2=0.75R(i-1)j+0.25Ri(j-1)和WC3=0.25R(i-1)j+0.75Ri(j-1)。在
Figure BPA00001184813900129
Figure BPA000011848139001210
的情况下,WC2=R(i-1)j且WC3=Ri(j-1)。这对应于选择两个相邻像素315、316的红色分量之一作为对当前像素317的红色分量的预测。
接着,方法继续至步骤S25,其中,提供与所选预测相关的引导比特。因此,如果在步骤S23中将第二加权组合选为红色预测,引导比特可以被设置为0bin或1bin。然而,如果相反在步骤S24中选择了第三加权组合,引导比特可以是1bin或0bin
接着,方法继续至图3的步骤S11,其中基于当前像素317的红色分量和在步骤S21、S23或S23中提供的预测来计算预测误差。优选地,预测误差
Figure BPA000011848139001211
被计算为像素的原始红色分量Rij及其预测之间的差
Figure BPA000011848139001213
与其他数据无关地对红色分量进行编码,相反,优选地,相对于红色分量对绿色分量进行编码。在这种情况下,针对块300中的每个像素310-317计算相应的分量差。该分量差是像素的绿色和红色分量之间的差Gij-Rij。此后,提供对块中第二颜色分量的对应预测。
对于存在于与起始像素310同一行或列中的那些像素311、312、313,与红色分量类似地进行压缩,只不过使用绿色和红色分量之间的差。因此,与起始像素310位于同一行的像素311、312、313可以具有第二预测误差:
G ij - R ij ~ = ( G 1 j - R 1 j ) - ( G ij - R ij ^ ) = ( G 1 j - R 1 j ) - ( G 1 ( j - 1 ) - R 1 ( j - 1 ) ) .
按以下方式对块300中的剩余像素314、315、316、317进行编码。首先,在图4的步骤S20中,调查两个相邻像素315、316的红色分量之间的绝对/平方差是否超过阈值。因此,即使要提供对绿色分量的预测,调查也采用红色分量值。
如果差小于阈值,基于第一相邻像素316的绿色和红色分量之间的第一差和第二相邻像素315的绿色和红色分量之间的第二差的第一加权组合来计算预测。换言之,
Figure BPA00001184813900131
或舍入、上取整或下取整的加权组合。在优选实施例中,基于两个分量差的平均值来计算预测,更优选地等于平均值,在下取整函数的情况下
Figure BPA00001184813900132
然而,如果相邻红色分量之间的绝对差超过阈值,作为替代,算法继续执行,针对当前像素317,利用在图4的步骤S25中确定的引导比特,选择两个差的第二加权组合作为预测
Figure BPA00001184813900133
(即选择第一预测方向),或选择第三加权组合作为预测
Figure BPA00001184813900134
(即选择第二预测方向)。也可以对这些第二和第三加权组合进行舍入、上取整或下取整。
在优选实施例中,用于确定上述颜色分量差的三个不同加权组合所采用的权重是确定红色分量的三个不同加权组合所采用的相同的权重。
此后,计算像素317的绿色分量的预测误差,作为像素的绿色和红色分量与所选预测间的差
Figure BPA00001184813900135
接着,如上所述,针对蓝色和剩余颜色分量执行相同的过程。然而,在这种情况下,计算蓝色和绿色分量之间的差Bij-Gij。在可选方式中,作为替代,在步骤中计算蓝色和红色分量之间的差Bij-Rij
如以上讨论的,优选地,结合无损压缩的上述实施例执行图3的熵编码步骤S12。优选地,首先对预测误差进行修改,以得到正预测误差。优选地,该修改涉及对负预测误差(包括零误差)应用函数n(x)=-2x和对正预测误差(不包括零误差)应用函数p(x)=2x-1,此处x表示输入的像素误差。这将导致预测误差的新的排列,如{0,1,-1,2,-2,3,-3,...},意味着大量小幅度将具有较小的值。接着,优选地,对每个经修改的预测误差进行Golomb-Rice编码[5-6],以获得编码表示。
Golumb-Rice编码涉及搜索指数k。优选地,针对块中至少一个像素的集合采用该指数k。例如,块中2×2组中的四个像素可以共享相同的k。可以使用在可用k值中(如在0和15之间)穷尽搜索,来查找针对组的最佳k值。然而,可以通过仅查看可用k值的所选部分,来降低搜索的运算量。该优选k搜索包括:在[p-4,p]的区间中搜索k,其中p是像素组的最大预测误差的最高有效比特的比特位置。
此后,将组的每个预测误差除以2k,以形成相应的商和余数。对商进行一元编码,优选地,根据以下表1执行编码。
表1-一元码
Figure BPA00001184813900141
由表1显而易见,一元编码对较大值分配较长的码。一般地,对于大于31的值,利用0xffffhex后接该值的16比特,对该值进行编码。
预测误差的编码表示包括一元码和k比特余数。此外,针对像素组存储值k。针对块中起始像素以外的每个像素执行该过程。如上所述,将该像素的原始颜色分量值分别存储为起始分量值。
虽然Golomb-Rice编码是一个可以使用的可行的编码算法,但本发明不限于此。相反,可选地可以采用其他编码算法,包括Huffman编码[7]或Tunstall编码[8]。
图10是根据上述压缩算法压缩的像素块的压缩表示400的示意图。压缩块400包括量化参数标识符410。压缩块表示400还包括候选压缩块420。该候选压缩块420包括起始属性值的表示422。候选压缩块420还包括所确定的k值的表示424、引导比特426以及来自Golomb-Rice编码的商和余数的一元码(在图中标记为经编码的误差表示428)。压缩块400中所包含的分量的实际顺序可以不同于图10中示出的顺序。
根据本发明可以使用的另一可能的无损压缩算法基于Weinberger预测器[4]。参照图2,该预测器基于沿三个预测方向的相邻像素314、315、316的属性值来确定当前像素317的属性值的预测。更具体地,该预测为:
p ^ ij = min ( p i ( j - 1 ) , p ( i - 1 ) j ) 如果p(i-1)(j-1)≥max(pi(j-1),p(i-1)j)
p ^ ij = max ( p i ( j - 1 ) , p ( i - 1 ) j ) 如果p(i-1)(j-1)≤min(pi(j-1),p(i-1)j)
p ^ ij = p i ( j - 1 ) + p ( i - 1 ) j - p ( i - 1 ) ( j - 1 ) 否则
接着,如前所述计算预测误差。接着,将所计算的预测误差输入熵编码器,如首先在[5]中公开的上述Golomb-Rice编码器。可选地,可以使用Huffman或Tunstall编码。
根据本发明可以使用的另一无损压缩算法基于R32预测器。第一行和列中的像素311、312、313是基于相同行或列中的最中间的相邻像素预测的。接着,以扫描顺序(即从第二行的第二像素起逐行)预测剩余像素。这些剩余像素中的每一个是基于存在于同一行中的先前像素的属性值预测的。接着,计算预测误差,并利用上述任一熵编码器对预测误差进行熵编码。
本发明不一定限于使用基于预测的无损压缩算法。相反,显而易见,可以使用现有技术中其他形式的无损压缩技术。例如,可以使用PIZ[9]。简言之,PIZ对块中的属性值执行Haar小波变换,以得到结果符号。接着,游程长度编码(RLE)用单个符号值和计数代替符号游程(即在多个连续数据元素中出现相同符号值的序列)。例如,假设前15个像素的属性值具有值p1且最后一个像素具有值p2的像素块。游程长度编码用以下编码15p11p2来代替15个p1和1个p2的序列。接着,可以对PIZ和RLE后的结果值进行熵编码(例如使用Huffman编码)。
图5是示出了图1量化步骤S4的实施例的流程图。该方法延续自图1中的步骤S3。下一步骤S30将块的属性值逐比特地右移若干步,其中步数由步骤S3中提供的量化参数限定。因此,假设量化参数具有值s。那么,将块中的属性值右移s步,以得到经量化的值
Figure BPA00001184813900161
在可选实施例中,可以在移位s步前增加常数1<<(s-1),以确保正确的舍入。
在该实施例中,量化参数s可以具有从零(对应于零量化)和等于或大于1的正整数值直到15(在半精度情况下)的任意值。因此,量化参数需要4比特。如果块的固定比特率是Ttarget比特,图1中使用的目标比特长度将是T=Ttarget-4比特。
在这种情况下,首先对像素块进行不采用任何量化的无损压缩。如果所产生的候选块的比特长度满足目标比特长度,优选地,将值0的量化参数与候选块一起存储为块的压缩表示。否则,对于后继每遍压缩,可以令量化参数加1,直到所产生的候选压缩块的比特长度等于或低于目标比特长度。
图6示出了量化步骤的可选实施例。正如本领域公知的,将比特样式右移s步等同于将该值除以2s。然而,这种方式将分母限制为2的各次幂。有时,使用非2次幂的分母可能是有利的。例如,假设目标比特长度为252比特,利用s=3的移位量化参数给出260的比特率,不符合比特预算。另一方面,利用s=4的移位可能给出200的比特率,虽然低于252但质量差得多。在这种情况下,可能有兴趣使用分母d位于23和24之间的除法,如d=12,这可以给出239的速率,符合比特预算并且仍给出好的质量。在该实施例中,甚至可以使用非整数除数。
因此,该实施例涉及:在步骤S40中将属性值除以所提供的量化参数,然后在后继步骤S41中对商进行舍入。该舍入可以通过使用本领域公知的上取整函数、下取整函数或舍入函数执行。因此,
Figure BPA00001184813900162
Figure BPA00001184813900163
Figure BPA00001184813900164
在优选实施例中,可允许量化参数(在该示例中即分母)的数量受限于参数集合。否则,量化参数的比特长度变为可变的,这继而影响图1的步骤S2中使用的目标比特长度。因此,对于该实施例的优选方式是,访问具有预定义分母的表,如以下表2的说明性示例。
表2-分母量化参数
Figure BPA00001184813900171
此时,这意味着,在块的压缩表示中仅存储所选量化参数的固定比特长度标识符(即表索引)而不是整个量化参数值。应注意的是,表2中给出分母1的码0000bin定义了无损压缩(即不量化)。
图7是图1的量化步骤S4的又一实施例的流程图。该方法延续自图1中步骤S3。下一步骤S50标识块中的最小和最大属性值。可选地,计算最大和最小值之间的差,并将该差的比特长度记为bit(diff)。为了以稍精确的方式将属性值编码为与最小值或实际上最大值的偏移,取bit(diff)个比特。此时,根据该实施例的量化在于减少可用偏移值的数量。在步骤S51中,可以根据多个不同实施例实现该减少。第一实施例使用固定数量的中间值,这些中间值是最大和最小值的不同线性组合,如对于6个中间值的情况,
Figure BPA00001184813900181
其中pmin/max表示块中的最小/最大属性值,且k=1,2,...,6(k=0对应于最大值,k=7给出最小值)。
可选地,可以基于bit(diff)的值计算可用偏移值的数量,如这导致大约一半的比特数量,并且在实践中表现良好。因此,用根据本实施例的量化将最小-最大区间划分为2bits(noOfOffset)步,其中步长被计算为stepSize=1<<(bit(diff)-bit(noOfOffset))。
另一实施例允许可变数量的偏移值,并且以信号表示使用了多少偏移值。对于复杂的块,可以使用较少数量的允许偏移值;反之,对于简单块,可以使用较大数量的允许偏移值。此时,可以在候选压缩块中存储与允许偏移值的数量有关的信息。
对于每个像素,通过首先计算到最小或最大值的距离distToMinij=pij-pmin或distToMaxij=pmax-pij来确定任一可允许的经量化的值的值索引。此时,将像素的值索引确定为:
Figure BPA00001184813900183
如果像素的属性值等于最大值或最小值(pij=pmax或pij=pmin),优选地,将值索引设置为等于最大索引(indexij=max Index或者min indexij=min Index。
该有效地将每个像素偏移值量化为较少比特的值索引。接着,可以将这些值索引输入预测器,如此处描述的Weinberger或R32预测器。这意味着,在候选压缩块中非编码地存储起始像素的值索引。对于其他像素,根据特定预测器,基于一个或多个相邻像素的对应值索引/索引,计算相应的预测。例如,计算相应的预测误差,并例如使用Golomb-Rice熵编码器对预测误差进行熵编码。
该实施例的扩展是,计算值索引的分布,并且如果分布较密集则增加步数(即降低量化度),如果属性值的分布较为稀疏则减少步数(即提高量化度)。
该实施例的优选实现针对块中的像素,计算到最大和最小值的相应距离distToMinij=pij-pmin和distToMaxij=pmax-pij。接着,将块中的像素分类为较接近于最小值或较接近于最大值:
如果(distToMinij<distToMaxij)
cij=0bin
否则
cij=1bin
此后,计算块中为0和为1的分类参数cij的数量,并且测试是否有一类大于所定义的阈值,如所有像素的75%。在这种情况下,如果分类参数中零的数量大于该阈值数量,属性值大多分布在最小值附近。此时,标识被分类为cij=0的像素的最大属性值。针对从最小值到所标识的“最小值”中的最大值的区间,如通过针对该区间将bits(noOfOffset)加1并针对其他区间将bits(noOfOffset)减1,减小从最小值到所标识的“最小值”中的最大值的区间内的步长。
相应地,如果多于阈值数量的属性值大多分布在最大值附近,标识被分类为cij=1的像素的最小值。针对从所标识的“最大值”中的最小值到最大值的区间,如通过针对该区间将bits(noOfOffset)加1并针对其他区间将bits(noOfOffset)减1,减小从所标识的“最大值”中的最小值到最大值的区间内的步长。
可以用模式标识符以信号比特表示当前块符合上述两种模式之一或是不符合两种模式中的任一种模式(即在整个区间中均匀量化)。例如,00bin表示均匀量化,01bin表示接近于最小值的量化度降低,10bin表示接近于最大值的量化度降低。在模式10bin下需要存储最小的最大值,并且在模式01bin下在候选压缩块中存储最大的最小值。剩余模式标识符值11bin可用于引入其他模式,比如大多数属性值分布在区间的中点附近时的情况。
可选方式是在步骤S50中标识最小属性值。将最大值的表示确定为相对于最小值的偏移,使得最大值近似为pmin+2x,其中,x是在步骤S50中确定的偏移值。此时,候选压缩块包括偏移和最小值的表示。接着,如上所述,即利用量化等级的均匀或非均匀分布,在近似和最小值之间的区间内定义中间值。
上述量化实施例应仅仅被看作根据本发明可以使用的说明性的、但优选的量化技术。同样,可以使用本领域的其他已知量化协议,并且其他已知量化协议属于本发明的范围。
在某些情况下,比特长度尺寸最接近于目标比特长度但未超过目标比特长度的候选压缩块具有相当低的质量。例如,假设通过将属性值移位来执行量化并且当目标比特长度为252比特时,移位参数3给出254比特的比特长度。然而,下一较大的移位参数4可能导致仅仅200比特的比特长度,从而远远低于目标比特长度。这意味着,例如以峰值信噪比(PSNR)来测量,同长度254比特的候选压缩块相比,长度为200比特的候选压缩块通常具有低得多的质量。在这种情况下,从质量的观点来看,修改一个或多个、可能经量化的属性值,从而使得候选压缩块的比特长度恰在目标以下,可能是较为有利的。图8中示意了这种过程。
方法延续自图1的步骤S2。下一步骤S60计算比特长度等于或短于目标比特长度的第一候选压缩块的比特长度BL1和目标比特长度T之间的第一差D1,D1=T-BL1。优选地,该第一候选压缩块是具有最小可能量化并仍导致长度不超过目标比特长度的块。
在步骤S61中,计算第二候选压缩块的比特长度BL2和目标比特长度T之间对应的差D2,D2=BL2-T。该第二候选块具有超过目标比特长度的比特长度,并且优选地是具有导致比特长度仍超过目标比特长度的最大可能量化的候选块。
在下一步骤S62中,将第一差与第一阈值差t1进行比较,并将第二差与第二阈值差t2进行比较。如果第一候选压缩块的长度远远短于目标比特长度(即D1>t1),并且第二候选压缩块的长度不是远远长于目标比特长度(即D2≤t2),方法继续至步骤S63。然而,如果不满足这些条件,可以稍微修改第二压缩块从而提供比第一压缩块高的质量但比特长度不超过目标比特长度是极为不可能的。因此,此时方法继续至步骤S5,其中,第一候选压缩块用于提供当前块的压缩表示。
在步骤S63中,标识块的至少一个像素,其中,接着,在下一步骤S64中修改该/这些像素的经量化的属性值。
标识步骤S63可以标识在对块的无损压缩以给出第二压缩块期间块中具有最大预测误差的一个像素或像素的子集。这些属性值可能(虽然并不是确保)以压缩块表示来产生块的长编码表示。因此,在步骤S64中稍微调整这些像素的属性值,使得它们的预测误差变短,从而优选地熵编码后的编码误差也变短。为了标识要修改的像素或像素子集,该实施例不需要对属性值进行任何熵编码。然而,不利因素在于,大的预测误差不一定导致长码。因此,为了减小候选压缩块的总长度,在步骤S63中可能标识非最优像素。
在另一实施例中,步骤S63标识块中在第二压缩表示中具有最长残余比特长度的一个像素或像素的子集。由于该实施例实际上标识对候选压缩块的总长度贡献最大的一个像素或像素的子集,因而更为有利。不利因素在于,为了在步骤S63中标识像素,需要进行熵编码。
优选地,将所标识的像素的经量化的属性值改变为新值,该新值导致熵编码后的残余比特长度比可能给出的未修改值短至少一比特。由于属性值的改变影响根据其预测的所有值,可能优选将要修改其属性值的像素的标识限制为不根据其进行预测的那些像素。根据所采用的特定的预测器,这可以通过像素的相对位置和引导比特的使用来确定。
步骤S63和S64的标识和修改可以执行多次或一次。在前一情况下,在第一遍中标识和修改第一像素。此后,在步骤S65中,利用经修改的值对像素块进行无损压缩,并且确定其比特长度,将其比特长度与目标比特长度进行比较。如果其仍超过目标比特长度,可以在第二遍执行步骤S63和S64时标识第二像素并修改其属性值,以此类推,直到比特长度等于或低于目标比特长度为止。
一旦已经在步骤S65中将块无损压缩至低于目标比特率的比特率,就针对该候选压缩块计算质量参数。还针对第一候选压缩块(即具有最小可能量化但仍导致比特长度不超过目标比特长度的候选压缩块)计算对应的质量参数。质量参数代表以两种候选压缩版本之一表示原始像素块的图像质量。适当的质量参数的示例是mPSNR[1]。
下一步骤S67选择导致最高质量的候选压缩块。接着,在图1的步骤S5中将该所选候选压缩块用于提供像素块的压缩表示。
图9是根据实施例的像素块的压缩表示400的总体示意图。表示400包括:压缩表示400所基于的、用于产生候选压缩块的量化参数的标识符410。该标识符410可以表示:已对候选压缩块进行了无损压缩(即不量化),或者已经使用了量化,大体产生了块的有损表示。量化标识符410可以是与特定量化值相关的标识符,如采用表索引的形式。可选地,标识符410可以实际包括特定量化参数自身的码。
如前所述,压缩表示400还包括:所选候选压缩块420的码或表示。所包括的压缩块表示400的元素410、420的实际顺序不必一定如图9所示。
应注意的是,针对量化标识符410因而针对所选候选压缩块420可以使用可变数量的比特。此处重要特征在于,标识符410和候选压缩块420的比特之和等于或低于最大允许比特长度。
解压
图11是示出了根据本发明的、对压缩或编码像素块进行解压或解码的方法的流程图。该方法起始于步骤S70,其中标识并获取压缩像素块的第一比特序列。该第一比特序列包括块的(量化的)像素属性值的编码表示的比特。换言之,序列对应于在压缩期间针对当前块选择的候选压缩块。
下一步骤S71基于所标识和获取的比特序列对像素块的至少一个像素进行解码。在步骤S71中采用的特定解码算法是由在对像素块进行编码时采用的特定无损压缩算法决定的。一般地,可以将解码或解压算法的操作看作编码或压缩算法的逆操作。解码结果是块中至少一个像素的原始属性值的量化表示。步骤S71可以仅仅涉及对单个像素进行解码,以获得其经量化的属性值。可选地,可以对多个像素(可能是块中的所有像素)进行解码。
下一步骤S72标识压缩像素块的第二(优选地剩余)序列。该第二序列包括:为产生包括在第一比特序列中的所选候选压缩块所采用的量化参数的标识符的比特序列。如上所述,第二比特序列可以实际包括:(例如取自列出多个可用量化参数的表的)特定量化参数的码、或用于提供相对量化参数的标识符的码。
接着,在下一步骤S73中利用由步骤S72提供的量化参数,以确定像素块是无损压缩(即不进行任何量化)的,还是为了达到比特预算而实际采用了量化,因而第一比特序列的压缩像素块是原始像素属性值的有损表示。步骤S73的确定是基于量化参数的实际值执行的。因此,量化参数或标识符可能具有的可能值的至少一个是专用于表示不对像素属性值进行任何量化的无损压缩,或表示哑(dummy)量化(如乘1)。
如果所提供的参数指示针对当前块执行了无任何量化的这种无损压缩,方法继续至步骤S74。步骤S74基于经量化的属性值的解码表示,提供在步骤S71中解码得到的至少一个像素的属性值。因此,在这种情况下,无需解量化,而可以将解码值直接用作解码后的像素属性值,虽然可能之后要变换至另一颜色空间。
作为可选方案,即使压缩是无损的,也可以执行哑解量化,例如乘以1。在某些情况下,例如在if声明代价极高但纯计算代价低的架构中,这可能更为迅速。在这种情况下,省去步骤S73和S74,并且方法直接从步骤S72继续至S75。
然而,相反,如果所提供的量化参数具有指示在压缩期间执行了量化、从而指示即使使用了无损压缩算法、由于量化引入了近似、因而是有损的、因此像素块进行了有损处理的值,方法则继续至步骤S75。在步骤S75中,首先利用所提供的量化参数,对来自步骤S71的至少一个解码得到的经量化的属性值进行解量化。解量化后的结果是像素属性值的最终解码表示,虽然可以对其进行进一步处理,如输入至颜色变换。
一旦在步骤S74或S75中已解码出所需数量的像素,并且提供了它/它们的属性值,方法结束或返回步骤S70(由线L2示意表示),以对又一压缩像素块进行解码。如果要解码多于一个的像素,首先对所有这些像素的经量化的属性值进行解码然后对它们进行解量化可能更加高效。
图5是示出了图11的解量化步骤S75的特定实施例的流程图。该方法延续自图11的步骤S73。在该实施例中,量化参数是移位参数。在这种情况下,将经解码且经量化的像素属性值逐比特地左移由移位参数限定的步数,即
Figure BPA00001184813900241
在可选实施例中,首先,将经解码但仍为量化后的属性值比特序列移位一步,然后向移位后的比特序列加上1bin或将移位后的比特序列与1bin进行OR(或)运算,接着移位剩余的s-1步。这具有向数据增加量化步长的一半的效果,如果该值是通过右移而不进行舍入而量化的,其结果是量化后的值的期望值。
图12示出了解量化步骤的另一实施例。该方法延续自图11的步骤S73。下一步骤S80将经解码且经量化的属性值与所提供的量化参数相乘,以得到原始像素属性值的表示。
一可选实现首先向经解码且经量化的属性值增加0.5的值,以得到经解码且经量化的属性值的正确的期望值。这样做以及在移位实施例中对应的加1运算的原因在于,当使用下取整函数时,例如9.000到9.999的区间都被舍入为9。因此,期望值是9.5。然而,如果使用舍入函数而不是下取整,无需加0.5。
图13是示出了根据本发明可以使用的解量化步骤的又一实施例的流程图。该方法延续自图11的步骤S73。下一步骤S90提供像素块的最小像素属性值和最大属性值。此外,该值提供是基于压缩块中包括的量化参数标识符执行的。在这种情况下,压缩块的第二比特序列可以包括最小和最大值的编码表示。可选地,基于第二比特序列仅仅提供最小/最大值之一。接着,基于也包括在第二比特序列中的偏移值来计算另一极值。
在步骤S91中,计算多个中间值,作为最小和最大值的不同线性组合。在该实施例中,将针对要解压的像素解码得到的经量化的像素属性值用作对最小、中间和最大值的属性值之一的值索引。因此,在步骤S92中,基于在以上结合图7讨论的压缩期间分配给像素的值索引,在这些最小、中间和最大值之间标识像素的正确的经解量化的且解码后的属性值。
图14是示出了在图11的解压方法中对可能经量化的属性值进行解码的特定实施例的流程图。该方法延续自图11的步骤S70。优选地,基于压缩块表示的第一比特序列中包括的起始属性值的表示,来提供块中起始像素的属性值(如红色分量)。在优选实施例中,在压缩像素块中以非编码形式提供起始属性值,并且因此可以将起始属性值直接分配为起始像素的红色分量。如前所述,该像素在块中具有预定义位置,优选地位于(i,j)=(1,1)。
此后,提供针对与起始像素位于同一像素行或列中的下一像素的预测。在该实施例中,将起始像素的红色分量(即起始属性值)用作针对相邻像素的预测。接着,基于该分量预测以及基于第一比特序列针对该像素所确定的预测误差来确定像素的颜色分量。针对包括起始像素在内的像素行或列中的剩余像素重复该过程。然而,对于这些其他像素,预测不一定必须是起始像素的红色分量,相反,显而易见,可以等于与当前像素位于同一行或列中的位于最前的相邻像素的红色分量。此时,对第一列和行中的像素的属性值(例如红色分量)进行了解码,并且方法继续处理块中的剩余像素。
在步骤S100中,针对要解码的块的像素确定预测误差。该预测误差是基于与像素相关并包括在压缩块中的经编码的误差表示确定的。因此,步骤S100涉及利用经编码的误差表示来计算像素预测误差。
优选地,通过例如对预测误差的编码表示进行Golomb-Rice或Hoffman或Tunstall解码来执行预测误差。在这种情况下,优选地,预测误差包括:经一元编码的商、余数和指数值k。商可以利用以上表1根据经一元编码的数据获得。此后,商和余数形成一个值,该值与2k相乘形成预测误差。
确定像素的红色(即第一)颜色分量的预测。预测确定涉及计算块中两个相邻像素的红色分量间的差。这两个像素是块中不同预测方向的相邻像素,并且优选地位于块中与要解码的当前像素位于同一行或列中的前一像素位置。优选地,该差是绝对差或平方差,以提供与符号无关的差的幅度表示。在步骤S101中将该差与预定义阈值进行比较。如果该差小于阈值,就根据步骤S102执行颜色分量预测,否则方法继续至步骤S103。
步骤S102根据块中两个相邻像素的红色分量来计算分量预测,所述两个相邻像素用于计算在步骤S101比较中所使用的差。优选地,分量预测是基于非零权重的第一加权组合(优选地,如结合图4的步骤S21讨论的两个红色分量的平均)计算的。
如果在步骤S101中确定差不小于阈值,步骤S103调查与经编码的像素相关且包括在压缩像素块中的引导比特的值。如果引导比特具有第一比特值(如0bin),方法继续至步骤S104。然而,相反,如果引导比特具有第二比特值(如1bin),根据步骤S105执行预测提供。步骤S104涉及计算颜色分量预测,颜色分量预测基于(优选地等于)块中两个相邻像素的红色分量的第二加权组合。步骤S105相应地涉及计算块中相邻像素的红色分量的第三加权组合,作为像素的分量预测。这意味着,在这种情况下,块中包括的针对当前像素的引导比特决定了针对像素要使用两个可能候选预测中的哪一个。上述步骤S104和S105的操作与图4的步骤S23和S24相似。
最后,步骤S106基于在步骤S100中确定的预测误差和在步骤S102、S104或S105中提供的分量预测,计算像素的红色分量的量化表示。优选地,通过向分量预测加上所确定的预测误差从而得到部分解码的像素的红色分量,来实现该计算。
优选地,在提供了红色分量后,对剩余的绿色和蓝色分量进行解码。首先,确定要解码的像素的第二预测误差。以同结合步骤S100讨论的第一(例如红色)预测误差类似的方式,确定绿色分量的预测误差。换言之,基于压缩像素块中包括的编码表示来确定预测误差。这意味着,优选地,编码表示包括经一元编码的商、余数和指数值k。因此,优选地,预测误差确定涉及对编码表示进行Golomb-Rice、Hoffman或Tunstall解码。
此后,针对像素确定绿色或第二颜色分量的预测。首先,在步骤S101中确定两个先前相邻像素的红色分量之间的差,并利用该差确定是要根据步骤S102还是根据步骤S104和S105之一来进行预测提供。
如果在步骤S101中绝对或平方差小于阈值,步骤S102利用非零权重,根据第一相邻像素的绿色和红色分量之间的第一差和第二相邻像素的绿色和红色分量之间的第二差的第一加权组合,来计算预测。优选地,该计算确定两个差的平均,并且优选地,预测基于所述平均并且优选地被设置为等于所述平均
G ij - R ij ^ = ( G ( i - 1 ) j - R ( i - 1 ) j ) + ( G i ( j - 1 ) - R i ( j - 1 ) ) 2
Figure BPA00001184813900272
如果在步骤S101中绝对或平方差超过阈值,方法继续至步骤S103,利用引导比特选择针对当前像素要使用两个可能候选预测中的哪一个。如果引导比特具有第一值,方法继续至步骤S104,其中,预测被选择为基于或等于相邻像素的绿色和红色分量之间的差的第二加权组合。然而,如果引导比特具有第二值,取而代之,在步骤S105中选择两个相邻像素的绿色和红色分量之间的差的第三加权组合。
接着,方法继续至步骤S106,其中,基于在步骤S100中确定的预测误差和在步骤S102、S104或S105中提供的分量预测,来确定像素的绿色分量的表示。优选地,该步骤S106涉及将预测加到预测误差上,以得到像素的绿色和红色分量之间的差。接着,可以通过简单地加上先前确定的红色分量,来确定绿色分量。
为了对蓝色或第三分量进行解码,重复上述过程。然而,在这种情况下,不处理绿色和红色分量之间的差而是处理蓝色和绿色分量之间或蓝色和红色分量之间的差。
压缩器
图15是根据实施例的压缩器100的示意框图。压缩器100包括无损压缩器110,用于对块中像素的像素属性值进行无损压缩以得到块的候选压缩表示。
提供了相连接的长度比较器120,用于将来自无损压缩器110的候选压缩块的比特长度与目标比特长度进行比较。如果结果比特长度等于或小于目标比特长度,参数供应器130优选地确定量化参数,指示对像素块进行了不采用任何有损量化的无损压缩。表示供应器150将所产生的块的压缩表示确定为包括来自无损压缩器110的候选压缩块和来自参数供应器130的量化参数。
然而,如果长度比较器120确定候选压缩块的比特长度超过了目标比特长度,值量化器140被操作为基于来自参数供应器130的量化参数对块的像素属性值进行量化。该值量化的输出是输入至无损压缩器110并由无损压缩器110进行处理的多个经量化的属性值的集合。压缩器110确定新的候选压缩块,但使用经量化的值代替原始像素属性值。比较器120将该新的候选压缩块的长度与目标比特长度进行比较。如果长度满足比特预算,表示供应器150基于候选压缩块的比特序列和量化参数的标识符的比特序列来确定压缩块表示。然而,如果比特长度仍超过目标比特长度,参数供应器130提供新的量化参数或先前使用的参数。量化器140以量化参数对像素属性值进行量化,并进行新一遍的无损压缩。
在优选实施例中,压缩器100允许确定具有最长可能比特长度但总长度仍不超过比特预算的候选压缩块。这继而对应于:采用获得尽可能接近于目标比特长度但不超过目标比特长度所需的、对属性值的最小可能量化。
图16是图15的无损压缩器110的特定实现的示意框图。在该实现中,压缩器110包括预测确定器112,用于确定块中多个像素的至少一部分的像素属性值的相应预测。优选地,预测确定器112计算预测,所述预测基于块中在相对于要编码的当前像素的一个或多个预测方向上的一个或多个相邻像素的加权组合。
误差计算器114利用来自预测确定器112的预测来计算像素的预测误差,优选地作为原始或经量化的属性值及其所确定的预测之间的差。接着,利用相连接的熵编码器116对预测误差进行编码。例如,该熵编码器116可以是Golomb-Rice编码器、Huffman编码器、Tunstall编码器或实际上本领域公知的任何其他熵编码器。
无损压缩器110的单元112至116可以被提供为软件、硬件或其组合。单元112至116可以一起实现在无损压缩器110中。可选地,分布式实现也是可行的,其中在压缩器中其他位置提供某些单元。
图17是示出了图16中的预测确定器112的实施例的示意框图。优选地,无损压缩器被配置为选择要压缩的块的起始属性值。在实施例,该起始属性值是块中所选择的像素的红色分量。优选地,该像素在块中具有预定义的像素位置,并且优选地是左上角像素。压缩块表示包括起始属性值的表示。
预测确定器112被配置为提供对与起始像素位于同一行和列(优选地第一行和列)中的像素的预测。对于这些像素,在第一预测情况下,相应预测被选择为基于朝向与当前像素位于同一行或列中的起始像素的方向、刚好前一位置的像素的红色分量,在第二预测情况下,相应预测被选择为基于所述像素的绿色和红色分量之间的差,在第三预测情况下,相应预测被选择为基于所述像素的蓝色和绿色分量或蓝色和红色分量之间的差。
预测确定器112包括预测计算器111,用于计算与当前像素相邻但位于块中同一像素列或像素行中先前位置的两个相邻像素的红色分量之间的差。至少部分基于该差,来确定针对剩余像素选择的特定预测。
如果值比较器117确定差的绝对值或平方差小于预定义阈值,预测计算器111基于两个相邻像素的红色分量的第一加权组合,来计算像素的颜色分量预测。优选地,预测计算器111确定这两个相邻红色分量的平均。接着,根据该平均(可以利用块中像素的其他颜色分量),来计算预测,但优选地预测等于该平均。
然而,如果差不小于阈值,激活确定器112的预测选择器113。该预测选择器113选择两个相邻像素的红色分量的第二加权组合和不同的第三加权组合之一,作为对该像素的预测。优选地,预测选择器113还被配置为计算红色分量的相应的第二和第三加权组合。
在优选实施例中,如果值比较器117确定差|R(i-1)j-Ri(j-1)|不小于阈值,预测选择器113计算两个相邻像素和当前像素的红色分量的第二加权组合之间的第一差以及相邻像素和当前像素的红色分量的第三加权组合之间的第二差。预测选择器113利用两个所计算的差,选择当前像素的红色分量的预测。一般地,选择器113选择导致就幅度而言第一和第二差中最小差的第二和第三加权组合中的那个加权组合。
引导比特供应器115在功能上被配置为连接至预测选择器113。供应器115产生表示所选预测方向和被预测选择器113选为当前颜色分量的预测的加权组合的引导比特。
预测确定器112还确定针对绿色和蓝色分量的预测。然而,当压缩像素的绿或第二颜色分量时,无损压缩器针对块中的每个像素,计算该像素的绿色和红色分量之间的相应的差Gij-Rij
在这种情况下,值比较器117针对给定像素调查其沿预定义预测方向的两个相邻像素的红色分量之间的差是否超过阈值。如果该差小于阈值,预测计算器111基于第一相邻像素的绿色和红色分量之间的第一差和第二相邻像素的绿色和红色分量之间的第二差的第一加权组合(优选地利用与红色分量的第一加权组合相同的非零权重),计算像素的第二预测。在优选实施例中,基于第一和第二差的平均来计算第二预测,并且更优选地,第二预测等于第一和第二差的平均。
相反,如果该差超过了阈值,预测选择器113选择第一和第二差(G(i-1)j-R(i-1)j或Gi(j-1)-Ri(j-1))的第二和第三加权组合之一(优选地利用与红色分量的相应的第二和第三加权组合相同的权重),作为当前像素的第二预测。优选地,预测选择器113利用先前确定的分配给像素的引导比特,来选择要将两个加权组合中的哪一个用作第二预测。可选地,差计算器可以重新计算差Rij-WC2和Rij-WC3,并基于此来选择第二预测。
优选地,无损压缩器还计算块中像素的蓝色和绿色分量之间的差Bij-Gij或块中像素的蓝色和红色分量之间的差。接着,按上述类似的方式处理上述差,以提供像素的蓝色分量预测和经编码的第三预测误差表示。
预测确定器112的单元111至117可以被提供为软件、硬件或其组合。单元111至117可以一起实现在预测确定器112中。可选地,分布式实现也是可行的,其中在无损压缩器中其他位置提供某些单元。
图18是压缩器的值量化器140的实施例的示意框图。在该实施例中,量化器140包括样式移位器,用于将像素属性值的比特样式逐比特地右移若干步,其中步数由量化参数限定。比特移位后的值对应于属性值的量化版本。
值量化器140的单元142可以被提供为软件、硬件或其组合。单元142可以实现在值量化器140中或压缩器中的其他位置。
图19是压缩器的值量化器140的另一实施例的示意框图。在该实施例中,量化器140包括除法器144,用于将属性值除以量化参数或基于量化参数确定的值。接着,由值舍入器146根据上取整、下取整或舍入函数对得到的商进行舍入,以得到经量化的像素属性值。
值量化器140的单元144和146可以被提供为软件、硬件或其组合。单元144和146可以一起实现在值量化器140中。可选地,分布式实现也是可行的,其中在压缩器中其他位置提供某些单元。
图20是压缩器的值量化器140的实施例的示意框图。在该实施例中,量化器140包括值标识器141,用于标识输入像素块中的最小像素属性值和最大像素属性值。值定义器143将中间值定义为最小和最大值的线性组合。接着,将经量化的属性值定义为最小、中间和最大值中与像素的原始属性值最接近的值。如前所述,将针对当前像素选择的该值的值标识符提供并分配给像素。在该实施例中,量化参数包括前述最小和最大值的表示。候选压缩块可以包括:分配给像素且与最小、中间和最大值中任一个相关的值标识符的编码序列。在优选实施例中,无损压缩器利用所分配的值索引作为输入来执行基于预测的压缩,从而减少表示值索引和压缩像素块所需的比特数量。
值量化器140的单元141和143可以被提供为软件、硬件或其组合。单元141和143可以一起实现在值量化器140中。可选地,分布式实现也是可行的,其中在压缩器中其他位置提供某些单元。
在优选实施例中,图15的压缩器100包括差计算器160。该计算器160计算第一候选压缩块的比特长度和目标比特长度之间的第一差。优选地,量化器140利用最小可能量化对该第一候选块的属性值进行了量化,但仍导致第一候选块的长度不超过目标比特长度。
计算器160还计算第二候选压缩块的比特长度和目标比特长度之间的第二差。优选地,量化器140利用最大可能量化对该第二候选块的属性值进行了量化,使得第二块的总长度超过目标比特长度。
如果第一差超过第一阈值但第二差未超过第二阈值,压缩器100的像素标识器170标识块中至少一个像素。优选地,标识器170标识块中具有由无损压缩器110确定的L个最大预测误差的L个像素,其中,1≤L<N×M且N×M表示块中的像素数。可选地,标识器170标识块中具有候选压缩块的L个最长残余比特长度的L个像素。
值修改器180被配置为修改所标识的L个像素的属性值,从而得到经量化、修改的像素属性值。无损压缩器110再次对块进行压缩,但用经修改、量化的属性值代替所标识的像素位置的先前经量化的属性值,从而得到第三候选压缩块。修改器180所执行的修改调整特定像素的属性值,使得同值修改前的情形相比,来自熵编码器的、构成第三候选压缩块的所产生的码变短,即比经压缩的第二候选的比特长度短。因此,此时,第三候选压缩块的比特长度等于或短于目标比特长度。
参数估计器190估计第一压缩块和具有至少一个经修改的量化后属性值的候选压缩块的相应的质量参数。表示供应器150选择并使用导致最高图像质量的候选块(即由原始像素块的质量参数确定的最佳表示),来确定当前像素块的压缩表示。
压缩器100的单元110至190可以被提供为软件、硬件或其组合。单元110至190可以一起实现在压缩器100中。可选地,分布式实现也是可行的。优选地,压缩器100实现在计算机、移动电话、膝上型计算机、游戏控制台、或需要对图像和纹理进行压缩的其他终端或单元的CPU中。
解压器
图21是用于对压缩像素块进行解压的解压器200的实施例的框图。解压器200包括第一序列标识器210,用于标识压缩像素块的第一比特序列。该第一比特序列对应于块的可能经量化的像素属性值的编码表示。
解码器230对所标识的第一比特序列进行处理,并对其进行解码,以提供块中至少一个像素的可能经量化的像素属性值。
解压器200还包括第二序列标识器220,用于标识压缩块的第二比特序列。该第二比特序列允许标识结合块的压缩使用的量化参数。
表示供应器240适于在量化参数指示对压缩块进行了未采用任何有损量化的无损压缩的情况下工作。此时,供应器240基于来自解码器230的经解码的属性值,确定至少一个像素的属性值的表示。
然而,相反,如果量化参数指示在块压缩期间进行了有损量化,表示确定器250利用所提供的量化参数对来自解码器230的属性值进行解量化。接着,将经解量化的值用作像素的原始属性值的表示。即使在压缩期间未对块执行有损量化,使用哑参数的解量化也是可行的。
解压器200的单元210至250可以被提供为软件、硬件或其组合。单元210至250可以一起实现在解压器200中。可选地,分布式实现也是可行的。优选地,解压器200实现在计算机、移动电话、膝上型计算机、游戏控制台、或需要对图像和纹理进行解压的其他终端或单元的GPU中。
图22是解压器的表示确定器250的实施例的示意框图。在该实施例中,确定器250包括样式移位器252,所述样式移位器252被实现为将经解码的属性值的比特样式左移s步,以得到经解量化的属性值。在这种情况下,移位数s对应于量化参数。
表示确定器250的单元252可以被提供为软件、硬件或其组合。单元252可以实现在表示确定器250中。可选地,分布式实现也是可行的,其中在解压器中其他位置提供所述单元。
图23是表示确定器250的另一实施例的示意。在该实施例中,确定器250包括乘法器254,乘法器254被配置为将经解码的属性值与量化参数或基于量化参数计算的值相乘,以得到经解量化的属性值。
表示确定器250的单元254可以被提供为软件、硬件或其组合。单元254可以实现在表示确定器250中。可选地,分布式实现也是可行的,其中在解压器中其他位置提供所述单元。
图24的示意框图中示意了表示确定器250的又一实施例。确定器250的值供应器251基于量化参数的标识符来提供块的最小和最大属性值。值计算器253计算至少一个中间值,作为最大和最小属性值的线性组合。在这种情况下,经解码且经量化的属性值是分配给像素的值标识符,针对给定像素,该标识符允许表示标识器255标识最小、中间和最大值中的值。接着,将所标识的值分配为像素的解量化后的属性值。
表示确定器250的单元251至255可以被提供为软件、硬件或其组合。单元251至255可以一起实现在表示确定器250中。可选地,分布式实现也是可行的,其中在解压器中其他位置提供某些单元。
图25是可由解压器使用的解码器230的实施例的示意框图。解码器230被实现用于提供块中起始像素的起始属性值,如红色分量。优选地,该分量被设置为等于压缩像素块中包括的起始属性值。
优选地,预测供应器234通过将预测设置为等于行或列中的先前像素的红色分量、绿色和红色分量之间的差以及蓝色和绿色分量之间的差,来提供对于与起始像素位于同一行和列中的像素的预测。
解码器230包括误差确定器232,所述误差确定器232被配置为确定要解码的像素的预测误差。该预测误差是基于分配给像素且包括在压缩像素块中的经编码的误差表示而确定的。
预测供应器234计算与当前像素位于同一块行和列中的两个相邻像素的先前解码的红色分量之间的差。将该差(或优选地绝对值或平方差)与预定义阈值进行比较。如果值比较器235确定该差小于阈值,预测计算器231被激活,并基于这两个相邻颜色分量的第一非零加权组合来计算预测。如上所述,优选地,基于两个颜色分量的平均进行计算。
然而,如果该差超过了阈值,预测选择器233选用相邻像素的先前解码的颜色分量的第二和第三加权组合之一作为预测。此外,该选择是基于分配给像素且包括在压缩像素块中的引导比特执行的。
表示计算器234使用来自误差确定器232的预测误差和来自供应器234的预测,来计算像素的红色分量。
相应地,当对像素的绿色分量进行解码时,误差确定器232根据压缩像素块中包含的数据,来确定像素的第二误差预测。如果两个相邻像素的红色分量间的差小于阈值,如前所述,预测计算器231基于两个相邻像素的先前解码的绿色和红色分量之间的差的第一加权组合,计算第二预测。在另一情况下(即差超过阈值),选择器233使用引导比特,选择两个相邻像素的先前解码的绿色和红色分量之间的差的第二和第三加权组合之一,作为第二预测。
优选地,表示计算器236将来自确定器232的第二预测误差加至来自预测供应器234的第二预测。此外,将像素的先前解码的红色分量加至上述和,以得到经解码的绿色分量。解码器230通过确定第三预测误差并提供第三预测,针对蓝色分量重复该过程。将先前解码的绿色分量加至上述第三误差和预测,以得到像素的经解码的蓝色分量。
解码器230的单元231至236可以被提供为软件、硬件或其组合。单元231至236可以一起实现在解码器230中。可选地,分布式实现也是可行的,其中在解压器中其他位置提供某些单元。
已对此处公开的算法进行了测试,并将其同现有技术HDR纹理处理方案进行了比较。在该简单测试中,采用4比特量化参数利用逐比特移位进行量化/解量化。目标比特长度被设置为252,从而导致对于4x4像素块的256比特的总比特率和每像素16比特的比特率。无损压缩按此处结合图4所述的方式进行,解压按结合图14公开的方式进行。在测试中使用单个图像“纪念堂”,并估计两种不同的质量度量,HDR-VDP 75%(高动态范围视差预测器)(值越小越好)和多重曝光PSNR(值越大越好)。
表3-质量参数比较
Figure BPA00001184813900351
所属领域技术人员将理解,可以在不背离由所附权利要求限定的本发明的范围的前提下对本发明进行各种修改和改变。
参考文献
[1]Munkberg,Clarberg,Hasselgren,and Akenine-
Figure BPA00001184813900352
2006,High dynamic range texture compression for graphics hardware,ACM Transactions on Graphics,25(3):698-706
[2]Roimela,Aarnio,and
Figure BPA00001184813900353
2006,High dynamic range texture compression,ACM Transactions on Graphics,25(3):707-712
[3]Wang,Wang,Sloan,Wei,Tong and Guo,2007,Rendering from compressed high dynamic range textures on programmable graphics hardware,Symposium on Interactive 3D Graphics,Proceeding of the 2007 symposium on Interactive 3D graphics and games,pp.17-24
[4]Weinberger,Seroussi,Sapiro,1996,LOCO-I:A low complexity context-based lossless image compression algorithm,In In Data Compression Conference,pp.140-149
[5]Golomb,1996,Run-length encodings,IEEE Transactions on Information Theory,12(3):399-401
[6]Rice and Plaunt,1971,Adaptive variable-length coding for efficient compression of spacecraft television data,IEEE Transactions on Communications,16(9):889-897
[7]Huffman,1952,A method for the construction of minimum-redundancy codes,Proceedings of the I.R.E.,pp.1098-1102
[8]Tunstall,1967,Synthesis of noiseless compression codes,Ph.D.dissertation,Georgia Inst.Techn.,Atlanta,GA,USA
[9]Technical Introduction to OpenEXR,2006,pp.1-14,www.openexr.com/TechnicalIntroduction.pdf

Claims (26)

1.一种压缩多个像素的块的方法,每个像素具有像素属性值,所述方法包括以下步骤:
a)对所述多个像素的所述像素属性值进行无损压缩,以得到候选压缩块;
b)将所述候选压缩块的比特长度与目标比特长度进行比较;
c)提供量化参数;
d)如果所述比特长度超过所述目标比特长度,则基于所述量化参数对所述像素属性值进行量化,以得到经量化的像素属性值;
e)如果所述比特长度超过所述目标比特长度,则利用所述经量化的像素属性值重复所述无损压缩步骤a)、和所述步骤b)至d),直到所述比特长度等于或短于所述目标比特长度;以及
f)基于比特长度等于或短于所述目标比特长度的候选压缩块和所提供的量化参数的标识符,提供所述块的压缩表示。
2.根据权利要求1所述的方法,其中,所述无损压缩步骤a)包括步骤:
确定所述多个像素的至少一部分的像素属性值的相应预测;
基于所述相应预测,计算所述多个像素的所述至少一部分的相应预测误差;以及
对所述相应预测误差进行熵编码,以得到所述候选压缩块。
3.根据权利要求2所述的方法,其中,所述确定步骤包括:通过以下步骤,针对所述多个像素的所述至少一部分的每个像素,提供所述像素的像素属性值的预测:
如果所述块中第一相邻像素和所述块中第二相邻像素的像素属性值间的幅度差小于阈值,基于所述相邻像素的所述像素属性值的采用非零权重的第一加权组合,计算所述预测;
如果所述幅度差不小于所述阈值,将所述预测选为基于所述相邻像素的所述像素属性值的不同的第二加权组合和所述相邻像素的所述像素属性值的不同的第三加权组合之一;以及
如果所述幅度差不小于所述阈值,提供与所述第二加权组合和所述第三加权组合中所选择的一个加权组合相关的引导比特。
4.根据权利要求1至3中任一项所述的方法,其中,所述量化步骤d)包括:如果所述比特长度超过所述目标比特长度,将所述像素属性值的比特样式右移s步,以得到所述经量化的像素属性值,其中s表示所述量化参数。
5.根据权利要求1至3中任一项所述的方法,其中,所述量化步骤d)包括以下步骤:
如果所述比特长度超过所述目标比特长度,将所述像素属性值除以所述量化参数;以及
对所述像素属性值和所述量化参数间的商进行舍入。
6.根据权利要求1至3中任一项所述的方法,其中,所述量化步骤d)包括以下步骤:
如果所述比特长度超过所述目标比特长度,标识所述多个像素的最小像素属性值和最大像素属性值;以及
基于所述量化参数,定义所述经量化的像素属性值,作为所述最大像素属性值和所述最小像素属性值的不同的线性组合。
7.根据权利要求1至6中任一项所述的方法,还包括以下步骤:
计算第一候选压缩块的比特长度和所述目标比特长度之间的第一差,所述第一候选压缩块的所述比特长度等于或短于所述目标比特长度;
计算第二候选压缩块的比特长度和所述目标比特长度之间的第二差,所述第二候选压缩块的所述比特长度超过所述目标比特长度,并且所述第二候选压缩块具有比所述第一候选压缩块的量化等级低的量化等级;
如果所述第一差超过第一阈值且所述第二差等于或小于第二阈值,标识所述多个像素中的至少一个像素;
修改所标识的所述至少一个像素的经量化的像素属性值;
在所述属性值修改后对所述多个像素的所述经量化的像素属性值进行无损压缩,以得到比特长度等于或小于所述目标比特长度的第三候选压缩块;
估计所述第一候选压缩块和所述第三候选压缩块的相应的质量参数;以及
基于所估计的所述质量参数,将所述块(300)的所述压缩表示(400)选为所述第一候选压缩块和所述第三候选压缩块之一。
8.根据权利要求7所述的方法,其中,所述标识步骤包括:如果所述第一差超过所述第一阈值且所述第二差等于或小于所述第二阈值,标识所述多个像素中具有L个最大预测误差的L个像素,其中,1≤L<N×M且N×M表示块中的像素数。
9.根据权利要求7所述的方法,其中,所述标识步骤包括:如果所述第一差超过所述第一阈值且所述第二差等于或小于所述第二阈值,标识所述多个像素中具有所述第二候选压缩块的L个最长残余比特长度的L个像素,其中,1≤L<N×M且N×M表示所述块中的像素数。
10.一种对压缩像素块进行解压的方法,所述方法包括以下步骤:
标识与像素块中多个像素的像素属性值的编码表示相对应的所述压缩像素块的第一比特序列;
对所述第一比特序列进行解码,以得到至少一个像素的像素属性值的解码表示;
标识与量化参数的标识符相对应的所述压缩像素块的第二比特序列;
如果所述量化参数指示对所述压缩像素块进行了无损压缩,基于所述像素属性值的所述解码表示,提供所述至少一个像素的像素属性值的表示;以及
如果所述量化参数指示在对所述像素块进行压缩期间对所述压缩像素块进行了有损量化,基于所述像素属性值的所述解码表示和所述量化参数,确定所述至少一个像素的所述像素属性值的所述表示。
11.根据权利要求10所述的方法,其中,所述确定步骤包括:将所述像素属性值的所述解码表示的比特样式左移s步,以得到所述像素属性值的所述表示,其中s表示所述量化参数。
12.根据权利要求10所述的方法,其中,所述确定步骤包括:将所述像素属性值的所述解码表示与所述量化参数相乘,以得到所述像素属性值的所述表示。
13.根据权利要求10所述的方法,其中,所述确定步骤包括以下步骤:
基于所述标识符,提供所述像素块的最小像素属性值和最大像素属性值;
作为所述最大像素属性值和所述最小像素属性值的不同的线性组合,计算多个像素属性值;以及
基于所述像素属性值的所述解码表示,在所述最小像素属性值、所述最大像素属性值和所计算的所述多个像素属性值中标识所述像素属性值的所述表示。
14.根据权利要求10至13中任一项所述的方法,其中,所述解码步骤包括以下步骤:
针对所述至少一个像素,基于与所述至少一个像素相关且包含在所述第一比特序列中的经编码的误差表示,确定预测误差;
通过以下步骤,提供所述像素属性值的所述解码表示的预测:
如果所述块中第一相邻像素和所述块中第二相邻像素的像素属性值之间的幅度差小于阈值,基于所述相邻像素的所述像素属性值的采用非零权重的第一加权组合,计算所述预测;以及
如果所述幅度差不小于所述阈值,基于与所述至少一个像素相关且包含在所述第一比特序列中的引导比特,将所述预测选为基于所述相邻像素的所述像素属性值的不同的第二加权组合和所述相邻像素的所述像素属性值的不同的第三加权组合之一;以及
基于所述预测误差和所述预测,计算所述像素属性值的所述解码表示。
15.一种用于对多个像素的块进行压缩的压缩器,每个像素具有像素属性值,所述压缩器包括:
无损压缩器,用于对所述多个像素的所述像素属性值进行无损压缩,以得到候选压缩块;
长度比较器,用于将所述候选压缩块的比特长度与目标比特长度进行比较;
参数供应器,用于提供量化参数;
值量化器,用于在所述长度比较器确定所述比特长度超过所述目标比特长度的情况下,基于所述量化参数对所述像素属性值进行量化,以得到经量化的像素属性值,其中,所述无损压缩器、所述长度比较器、所述参数供应器和所述值量化器被配置为顺序地分别对经量化的像素属性值进行无损压缩、比较比特长度、提供量化参数和对像素属性值进行量化,直到所述长度比较器确定所述比特长度等于或短于所述目标比特长度;以及
表示供应器,用于基于比特长度等于或短于所述目标比特长度的候选压缩块和所提供的量化参数的标识符,提供所述块的压缩表示。
16.根据权利要求15所述的压缩器,其中,所述无损压缩器包括:
预测确定器,用于确定所述多个像素的至少一部分的像素属性值的相应预测;
误差计算器,用于基于所述相应预测,计算所述多个像素的所述至少一部分的相应预测误差;以及
熵编码器,用于对所述相应预测误差进行熵编码,以得到所述候选压缩块。
17.根据权利要求16所述的压缩器,其中,所述预测确定器包括:
预测计算器,用于在所述块中第一相邻像素和所述块中第二相邻像素的像素属性值间的幅度差小于阈值的情况下,基于所述相邻像素的所述像素属性值的采用非零权重的第一加权组合,针对所述多个像素的所述至少一部分的每个像素,计算预测;
预测选择器,用于在所述幅度差不小于所述阈值的情况下,将所述预测选为基于所述相邻像素的所述像素属性值的不同的第二加权组合和所述相邻像素的所述像素属性值的不同的第三加权组合之一;以及
比特供应器,用于在所述幅度差不小于所述阈值的情况下,提供与所述第二加权组合和所述第三加权组合中所选择的一个加权组合相关的引导比特。
18.根据权利要求15至17中任一项所述的压缩器,其中,所述值量化器包括:样式移位器,用于在所述长度比较器确定所述比特长度超过所述目标比特长度的情况下,将所述像素属性值的比特样式右移s步,以得到所述经量化的像素属性值,其中s表示所述量化参数。
19.根据权利要求15至17中任一项所述的压缩器,其中,所述值量化器包括:
除法器,用于在所述长度比较器确定所述比特长度超过所述目标比特长度的情况下,将所述像素属性值除以所述量化参数;以及
值舍入器,用于对所述像素属性值和所述量化参数之间的商进行舍入。
20.根据权利要求15至17中任一项所述的压缩器,其中,所述值量化器包括:
值标识器,用于在所述长度比较器确定所述比特长度超过所述目标比特长度的情况下,标识所述多个像素的最小像素属性值和最大像素属性值;以及
值定义器,用于基于所述量化参数,定义所述经量化的像素属性值,作为所述最大像素属性值和所述最小像素属性值的不同的线性组合。
21.根据权利要求15至20中任一项所述的压缩器,还包括:
差计算器,用于i)计算第一候选压缩块的比特长度和所述目标比特长度间的第一差和ii)计算第二候选压缩块的比特长度和所述目标比特长度间的第二差,所述第一候选压缩块的所述比特长度等于或短于所述目标比特长度,所述第二候选压缩块的所述比特长度超过所述目标比特长度,并且所述第二候选压缩块的量化等级低于所述第一候选压缩块的量化等级;
像素标识器,用于在所述第一差超过第一阈值且所述第二差等于或小于第二阈值的情况下,标识所述多个像素中的至少一个像素;
值修改器,修改由所述像素标识器标识的所述至少一个像素的经量化的像素属性值,其中,所述无损压缩器被配置用于在所述属性值修改后对所述多个像素的所述经量化的像素属性值进行无损压缩,以得到比特长度等于或小于所述目标比特长度的第三候选压缩块;以及
参数估计器,用于估计所述第一候选压缩块和所述第三候选压缩块的相应的质量参数,其中,所述表示供应器被配置用于基于所估计的所述质量参数,将所述块的所述压缩表示选为所述第一候选压缩块和所述第三候选压缩块之一。
22.一种用于对压缩像素块进行解压的解压器,所述解压器包括:
第一序列标识器,用于标识与像素块中多个像素的像素属性值的编码表示相对应的所述压缩像素块的第一比特序列;
解码器,用于对所述第一比特序列进行解码,以得到至少一个像素的像素属性值的解码表示;
第二序列标识器,用于标识与所述量化参数的标识符相对应的所述压缩像素块的第二比特序列;
表示供应器,适于在所述量化参数指示对所述压缩像素块进行了无损压缩的情况下工作,并被配置为基于所述像素属性值的所述解码表示,提供所述至少一个像素的像素属性值的表示;以及
表示确定器,适于在所述量化参数指示在对所述像素块进行压缩期间对所述压缩像素块进行了有损量化的情况下工作,并被配置为基于所述像素属性值的所述解码表示和所述量化参数,确定所述至少一个像素的所述像素属性值的所述表示。
23.根据权利要求22所述的解压器,其中,所述表示确定器包括:样式移位器,用于将所述像素属性值的所述解码表示的比特样式左移s步,以得到所述像素属性值的所述表示,其中s表示所述量化参数。
24.根据权利要求22所述的解压器,其中,所述表示确定器包括:乘法器,用于将所述像素属性值的所述解码表示与所述量化参数相乘,以得到所述像素属性值的所述表示。
25.根据权利要求22所述的解压器,其中,所述表示确定器包括:
值供应器,用于基于所述标识符,提供所述像素块的最小像素属性值和最大像素属性值;
值计算器,用于作为所述最大像素属性值和所述最小像素属性值的不同的线性组合,计算多个像素属性值;以及
表示标识器,用于基于所述像素属性值的所述解码表示,在所述最小像素属性值、所述最大像素属性值和所计算的所述多个像素属性值中标识所述像素属性值的所述表示。
26.根据权利要求22至25中任一项所述的解压器,其中,所述解码器包括:
误差确定器,用于针对所述至少一个像素,基于与所述至少一个像素相关且包含在所述第一比特序列中的经编码的误差表示,确定预测误差;
预测供应器,用于提供所述像素属性值的所述解码表示的预测,所述预测供应器包括:
预测计算器,用于在所述块中第一相邻像素和所述块中第二相邻像素的像素属性值之间的幅度差小于阈值的情况下,基于所述相邻像素的所述像素属性值的采用非零权重的第一加权组合,计算所述预测;以及
预测选择器,用于在所述幅度差不小于所述阈值的情况下,基于与所述至少一个像素相关且包含在所述第一比特序列中的引导比特,将所述预测选为基于所述相邻像素的所述像素属性值的不同的第二加权组合和所述相邻像素的所述像素属性值的不同的第三加权组合之一;以及
表示计算器,用于基于所述预测误差和所述预测,计算所述像素属性值的所述解码表示。
CN2008801251620A 2008-01-21 2008-09-17 压缩多个像素块的方法和压缩器、以及对压缩像素块进行解压的方法和解压器 Expired - Fee Related CN101919250B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US2239708P 2008-01-21 2008-01-21
US61/022,397 2008-01-21
US3845208P 2008-03-21 2008-03-21
US61/038,452 2008-03-21
EP2008055520 2008-05-06
EPPCT/EP2008/055520 2008-05-06
PCT/EP2008/056288 WO2009092455A2 (en) 2008-01-21 2008-05-21 Prediction-based image processing
EPPCT/EP2008/056288 2008-05-21
US5623208P 2008-05-27 2008-05-27
US61/056,232 2008-05-27
PCT/SE2008/051038 WO2009093947A1 (en) 2008-01-21 2008-09-17 Pixel block processing

Publications (2)

Publication Number Publication Date
CN101919250A true CN101919250A (zh) 2010-12-15
CN101919250B CN101919250B (zh) 2012-11-21

Family

ID=43124600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801251620A Expired - Fee Related CN101919250B (zh) 2008-01-21 2008-09-17 压缩多个像素块的方法和压缩器、以及对压缩像素块进行解压的方法和解压器

Country Status (2)

Country Link
US (1) US8335385B2 (zh)
CN (1) CN101919250B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761735A (zh) * 2011-04-25 2012-10-31 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统
CN103417232A (zh) * 2012-05-11 2013-12-04 X环技术有限公司 用于计算机层析成像数据的有损压缩和解压缩的方法和系统
CN105103546A (zh) * 2013-03-27 2015-11-25 国立研究开发法人情报通信研究机构 编码多个输入图像的方法及装置、存放程序的存储介质
CN106534874A (zh) * 2016-11-18 2017-03-22 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
CN106791883A (zh) * 2016-11-18 2017-05-31 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
CN106878738A (zh) * 2011-01-24 2017-06-20 索尼公司 图像编码方法和信息处理设备

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3107292B1 (en) 2007-03-20 2018-08-15 Fujitsu Limited Video encoding method and apparatus, and video decoding apparatus
KR20110060181A (ko) * 2009-11-30 2011-06-08 한국전자통신연구원 무손실/준무손실 영상 압축 장치 및 방법
TWI395490B (zh) * 2010-05-10 2013-05-01 Univ Nat Central 實施於電子裝置之影像編碼方法
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
WO2012105882A1 (en) * 2011-02-04 2012-08-09 Telefonaktiebolaget L M Ericsson (Publ) Pixel block compression and decompression
US9299166B2 (en) 2012-12-13 2016-03-29 Qualcomm Incorporated Image compression method and apparatus for bandwidth saving
US9305368B2 (en) * 2013-06-21 2016-04-05 Intel Corporation Compression and decompression of graphics data using pixel region bit values
US9160362B1 (en) 2014-05-08 2015-10-13 Qualcomm Incorporated Lempel-Ziv (LZ)-based data compression employing implicit variable-length distance coding
US10104388B2 (en) 2014-06-30 2018-10-16 Sony Corporation Video processing system with high dynamic range sensor mechanism and method of operation thereof
US9460365B1 (en) * 2015-03-24 2016-10-04 Intel Corporation Clustered palette compression
US10304213B2 (en) * 2016-12-27 2019-05-28 Intel Corporation Near lossless compression scheme and system for processing high dynamic range (HDR) images
US10453221B2 (en) * 2017-04-10 2019-10-22 Intel Corporation Region based processing
CN106898291B (zh) * 2017-04-28 2019-08-02 武汉华星光电技术有限公司 显示面板的驱动方法及驱动装置
JP6986678B2 (ja) * 2017-07-10 2021-12-22 パナソニックIpマネジメント株式会社 映像信号処理装置及び映像信号伝送システム
US10540379B2 (en) * 2017-12-11 2020-01-21 International Business Machines Corporation Searching base encoded text
CN114761956A (zh) * 2019-10-03 2022-07-15 普费奇公司 Rgb网络和设备
CN114328373A (zh) * 2020-09-29 2022-04-12 伊姆西Ip控股有限责任公司 管理文件系统的方法、电子设备和计算机程序产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873734B1 (en) * 1994-09-21 2005-03-29 Ricoh Company Ltd Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US5625712A (en) 1994-12-14 1997-04-29 Management Graphics, Inc. Iterative compression of digital images
US6266449B1 (en) 1995-11-22 2001-07-24 Canon Kabushiki Kaisha Information processing apparatus and method which selectively controls data encoding by monitoring amount of encoded data
KR100813963B1 (ko) * 2005-09-16 2008-03-14 세종대학교산학협력단 동영상의 무손실 부호화, 복호화 방법 및 장치
CN101039374B (zh) * 2006-03-14 2011-11-02 联想(北京)有限公司 一种图像无损压缩方法
US7885469B2 (en) * 2006-05-22 2011-02-08 Microsoft Corporation Encoded high dynamic range textures

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878738A (zh) * 2011-01-24 2017-06-20 索尼公司 图像编码方法和信息处理设备
CN106878738B (zh) * 2011-01-24 2019-11-08 索尼公司 图像编码方法和信息处理设备
CN102761735A (zh) * 2011-04-25 2012-10-31 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统
CN102761735B (zh) * 2011-04-25 2014-12-24 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统
CN103417232A (zh) * 2012-05-11 2013-12-04 X环技术有限公司 用于计算机层析成像数据的有损压缩和解压缩的方法和系统
CN103417232B (zh) * 2012-05-11 2017-09-05 X环技术有限公司 用于计算机层析成像数据的有损压缩和解压缩的方法和系统
CN105103546A (zh) * 2013-03-27 2015-11-25 国立研究开发法人情报通信研究机构 编码多个输入图像的方法及装置、存放程序的存储介质
CN106534874A (zh) * 2016-11-18 2017-03-22 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
CN106791883A (zh) * 2016-11-18 2017-05-31 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
CN110674796A (zh) * 2016-11-18 2020-01-10 上海兆芯集成电路有限公司 纹理砖解压缩方法
CN111726639A (zh) * 2016-11-18 2020-09-29 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
CN110674796B (zh) * 2016-11-18 2022-05-03 格兰菲智能科技有限公司 纹理砖解压缩方法

Also Published As

Publication number Publication date
US8335385B2 (en) 2012-12-18
US20100296745A1 (en) 2010-11-25
CN101919250B (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN101919250B (zh) 压缩多个像素块的方法和压缩器、以及对压缩像素块进行解压的方法和解压器
EP2232876B1 (en) Pixel block processing
EP2128822B1 (en) Index-based pixel block processing
EP1697897B1 (en) Image processing
US9466125B2 (en) Weight based image processing
EP1924970B1 (en) Texture compression based on two hues with modified brightness
EP1697899B1 (en) Multi-mode alpha imag eprocessing
EP2005393B1 (en) High quality image processing
US8107753B2 (en) Prediction-based image processing
WO2009093947A1 (en) Pixel block processing
EP1886277B1 (en) Weight based image processing
CN103650496A (zh) 用于在hevc中编码的基于像素的帧内预测
CN102651815A (zh) 每块使用固定数目比特的数字图像压缩方法
CN101653004A (zh) 从编码比特流选择性地解码预定数据单元的解码器
CN115278269B (zh) 一种点云属性编码方法、点云属性解码方法及存储介质
CN100499819C (zh) 一种用于降低多媒体数据编码比特率的方法
CN102300085B (zh) 具有可变量化参数与可变编码参数的图像压缩方法
US8238680B2 (en) Image compression method with variable quantization parameters and variable coding parameters
CN108810556A (zh) 压缩参考帧的方法、装置及芯片

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121

CF01 Termination of patent right due to non-payment of annual fee