CN101919254B - 基于预测的图像处理 - Google Patents

基于预测的图像处理 Download PDF

Info

Publication number
CN101919254B
CN101919254B CN2008801249758A CN200880124975A CN101919254B CN 101919254 B CN101919254 B CN 101919254B CN 2008801249758 A CN2008801249758 A CN 2008801249758A CN 200880124975 A CN200880124975 A CN 200880124975A CN 101919254 B CN101919254 B CN 101919254B
Authority
CN
China
Prior art keywords
pixel
color component
prediction
neighbor
difference
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.)
Expired - Fee Related
Application number
CN2008801249758A
Other languages
English (en)
Other versions
CN101919254A (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 CN101919254A publication Critical patent/CN101919254A/zh
Application granted granted Critical
Publication of CN101919254B publication Critical patent/CN101919254B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/124Quantisation
    • 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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/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/186Methods 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 colour or a chrominance component
    • 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/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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Processing (AREA)

Abstract

本发明通过针对像素块(300)中的每个像素(310-318)提供相应颜色分量预测来对像素块(300)进行压缩。计算两个相邻像素(312、316)的颜色分量之间的差值,并将其与阈值进行比较。如果该差值小于阈值,则基于这两个相邻像素(312、316)的颜色分量的第一线性组合来计算预测。然而,如果该差值超过阈值,则采用相邻像素(312、316)的颜色分量的第二或第三线性组合作为预测。引导比特(470)与所选线性组合相关联。基于像素(318)的颜色分量和所提供的预测来计算预测误差。压缩块(400)包括预测误差的编码表示(480)和任何引导比特(470)。

Description

基于预测的图像处理
技术领域
本发明总体涉及图像处理,具体涉及图像块的基于预测的压缩和解压缩。
背景技术
为了提高图形处理单元(GPU)的性能,采用存储器带宽减小技术。一种减小带宽要求的方式是执行所谓的缓冲器压缩。典型地,图形***使用两个缓冲器:颜色缓冲器,其中绘出像素的颜色;以及深度缓冲器,其中存储每个像素的深度。在进行呈现时,对这些缓冲器进行读取和写入,并且通常针对两个缓冲器多次访问相同像素。这些读写访问在能量方面代价较大,因此应当保持为最少,尤其是对于具有有限电源的用户终端,如移动设备。
缓冲器压缩意味着缓冲器数据块以压缩形式存储在存储器中。由于对于特定像素和块,解压缩和压缩可能多次进行,因此压缩无损(即无破坏性)是很重要的。
文献[1]和[2]分别给出了对现有技术颜色缓冲器压缩和深度缓冲器压缩的良好概述。
与深度缓冲器数据相比,颜色缓冲器数据导致重要的问题,因为它涉及绘出的三角形与背景之间的尖锐边缘。在通过超出这种不连续性的边缘进行预测来进行基于预测的颜色缓冲器压缩时,传统的颜色缓冲器数据技术可能导致问题。
发明内容
本发明克服了现有技术配置中的这些和其他缺陷。
本发明的总体目的是提供高效的颜色缓冲器压缩和解压缩。
这一目的和其他目的是通过由所附专利权利要求所限定的本发明来实现的。
简而言之,本发明涉及具有相关联颜色的像素块的压缩和解压缩。压缩涉及提供对块中至少一个像素的颜色分量的预测。通过首先计算块中两个相邻像素的颜色分量之间的差值来提供该预测,优选地,所述两个相邻像素位于块中与当前像素相同的行或列。如果该差值的幅度超过预定阈值,则基于两个相邻像素的颜色分量的第一加权组合,优选地基于两个颜色分量的平均,来计算颜色分量预测。然而,如果幅度差值不小于阈值,则在两个相邻像素的颜色分量的第二加权组合和第三加权组合之间进行选择。此外,向像素分配与所选加权组合或预测方向相关联的引导比特。第一加权组合使用非零权重,而第二组合和第三组合中的至少一个组合的两个相应权重之一可以等于0。此外,三个加权组合均针对两个颜色分量使用不同的权重。
针对像素,基于其颜色分量和所提供的颜色分量预测来计算预测误差。所产生的压缩块包括所计算的预测误差加上引导比特(如果针对当前像素确定了引导比特)的编码的表示。
压缩块的解压缩涉及针对要解码的像素确定预测误差。该预测误差是基于与像素相关联并且包括在压缩块中的编码的误差表示来确定的。然后提供像素的颜色分量的预测。与压缩类似,确定两个先前解码的相邻像素的颜色分量之间的差值。如果幅度差值小于阈值,则基于两个相邻像素的颜色分量的第一加权组合来计算颜色分量预测。然而,在幅度差值超过阈值的情况下,分配给像素、并包括在压缩块中的引导比特用于提供预测。引导比特指示选择两个相邻像素的颜色分量的第二加权组合和第三加权组合中的哪一个来作为当前像素的预测。
像素的颜色分量是根据所确定的误差预测和所提供的颜色分量预测来获得的。
本发明还涉及压缩器和解压缩器。
本发明可以处理在不同像素位置之间具有不自然的尖锐颜色不连续性的像素块。因此,本发明避免了跨越这种不连续性边缘来进行预测。
通过阅读本发明的实施例的以下描述,将认识到本发明提供的其他优点。
附图说明
通过结合附图,参考以下描述,可以最好地理解本发明及其另外的目的和优点,在附图中:
图1是根据本发明的块压缩方法的实施例的流程图;
图2是可用于本发明的像素块的示例的示意;
图3示意性示出了使用整数作为浮点数的表示;
图4是示意了图1、10、12和15中的预测计算步骤的实施例的流程图;
图5是示意了图1的压缩方法的附加步骤的流程图;
图6是示意了图5的压缩方法的附加步骤的流程图;
图7是更详细示意了图6中的重新起始值选择步骤的实施例的流程图;
图8A是对具有重新起始像素的像素块的示意;
图8B是对像素位置进行镜像之后图8A的像素块的示意;
图8C是对像素位置进行旋转之后图8A的像素块的示意;
图9是更详细示意了图1的确定步骤的实施例的流程图;
图10是示意了图9的压缩方法的附加步骤的流程图;
图11是像素块的压缩表示的示例的示意;
图12是根据本发明的块解压缩方法的实施例的流程图;
图13是示意了图12的解压缩方法的附加步骤的流程图;
图14是示意了图13的解压缩方法的附加步骤的流程图;
图15是示意了图12的解压缩方法的附加步骤的流程图;
图16是可以对其应用本发明教导的缓冲器架构的示意框图;
图17是根据本发明实施例的压缩器的示意框图;
图18是根据本发明实施例的图17中的表示确定器的示意框图;
图19是根据本发明另一实施例的压缩器的示意框图;
图20是根据本发明实施例的解压缩器的示意框图;
图21是根据本发明实施例的图20中的误差确定器的示意框图;
图22是根据本发明另一实施例的解压缩器的示意框图;以及
图23是对本发明的压缩性能与现有技术压缩方案进行比较的图。
具体实施方式
贯穿附图,针对相应或相似的元件使用相同的附图标记。
本发明总体涉及像素参数值的无损压缩和解压缩,具体涉及适于颜色缓冲器压缩和解压缩的这种压缩和解压缩。
本发明非常适用于三维(3D)图形,如游戏、3D地图和场景、3D消息(例如动画消息)、屏保、人机界面(MMI)等,但不限于此。因此,本发明也可以用于对其他类型的图像或图形进行编码,例如一维(1D)、二维(2D)或3D图像。
在本发明中,压缩和解压缩集合地处理多个像素,典型地以像素块或像素瓦片的形式。在本发明的优选实施例中,像素块的像素大小为M×N,其中M、N是整数,并且限制M和N不同时为1。优选地,M=2m,N=2n,其中m、n为0或整数,并且限制m和n不同时为0。在典型实现中M=N,优选的这种块实施例可以是4×4像素、8×8像素或16×16像素。
表述“像素”或“图像元素”是指块或块的编码表示中的元素。块继而与图像、纹理或缓冲器的一部分相对应。因此,根据本发明,图像元素可以是(1D、2D、3D)纹理的纹理像素(texel,纹理元素)、(1D或2D)图像的像素或3D图像的体素(voxel,体积元素)。一般地,使用相关联的像素参数值或特征来表征像素。在本发明的优选实施例中,像素参数值是颜色值,更优选地是多分量颜色值。因此,像素颜色由多个(即至少2个)颜色分量组成。这种颜色的典型示例是在颜色空间中具有3个颜色分量的红、绿、蓝(RGB)颜色。在其他颜色空间中存在的其他多分量颜色(如YUV、YCoCg或YCrCb)也是本领域已知的,并且可以根据本发明来使用。在这种情况下,颜色分量Y、Cr和Cb中的每一个优选地均可以被编码和解码为这里描述的红(第一)颜色分量。然而,对于这些其他颜色空间,需要RGB颜色与YUV/YCrCb/YCoCg颜色之间的可逆变换,这在计算上代价较高。因此,RGB颜色是可以用于本发明的有利像素颜色。
此外,以下,术语“图像”用于表示可以通过本发明进行编码和解码的任何1D、2D或3D图像或纹理,包括但不限于凹凸映射、法线映射、照片、游戏类型纹理、文本、绘图、高动态范围图像和纹理等等。
本发明涉及基于预测的颜色缓冲器压缩(编码)和解压缩(解码)。此外,本发明的基于预测的颜色数据处理非常适于处理由例如绘出的三角形与背景之间的尖锐边缘而导致的颜色值的不连续性。在现有技术缓冲器压缩方案中,没有很好地利用本发明的这种专用不连续性管理。
压缩
图1是示意了根据本发明用于压缩多个像素的块的方法的流程图。块中的每个像素具有由多个颜色分量(如红色分量、绿色分量和蓝色分量)组成的相应颜色。块压缩涉及针对块中的至少一个像素,提供对该像素的第一颜色分量的预测。以下,使用红色分量来示意第一颜色分量。然而,这应当仅看作本发明的示意性示例,取而代之地,可以在压缩方法中首先处理任何其他颜色分量,如RGB颜色情况下的绿色或蓝色。
预测提供操作在步骤S1开始。该步骤S1涉及计算块中第一相邻像素的红(第一)颜色分量与块中第二相邻像素的红颜色分量之间的差值。因此,这两个相邻像素与块中要压缩的当前像素相邻。此外,相对于当前像素,这些像素与两个不同的预测方向相关。在优选实施例中,两个相邻像素包括在块的相同行中的先前像素和在块的相同列中的先前像素。因此,假定当前像素在块中具有像素位置(i,j)。在这种情况下,两个相邻像素优选地分别占据位置(i-1,j)和(i,j-1)。
优选地,步骤S1的计算涉及计算差值R(i-1)j-Ri(j-1),其中Rij表示在块位置(i,j)处的像素的红颜色分量。由于关心的是差值的幅度而不是符号,可以在步骤S1中计算绝对值或幅度差值|R(i-1)j-Ri(j-1)|。在备选方式中,取而代之地,在步骤S1中计算差值的平方(R(i-1)j-Ri(j-1))2。此外,与上述两者不同的其他幅度表示当然也是可能的。
在任一种情况下,接着将所计算的差值表示(幅度差值或差值的平方)与所定义的阈值h进行比较。因此,可以将该比较实现为
Figure BPA00001183892000061
Figure BPA00001183892000062
。如果相邻像素的红色分量之间的(幅度)差值小于该阈值,则该方法从步骤S1继续至步骤S2,否则该方法继续至步骤S3。
可以在优化过程中确定阈值h的值,该优化过程以压缩尽可能多的不同颜色缓冲器块并且得到尽可能短的块压缩长度(以比特数目计)为优化目标。可以根据本发明来使用并且从初步优化过程获得的阈值的非限制性示例是h1=2048和h2=20482。然而,阈值的实际值取决于多种因素,包括所使用的具体颜色格式、颜色分量值的可用范围等等。该值2048对RGB颜色作用良好,其中颜色分量被表示为半精度浮点数。
步骤S2涉及根据两个相邻像素的红颜色分量来计算当前像素的颜色分量预测。换言之,其中
Figure BPA00001183892000064
是当前像素Rij的预测,f()是函数并且具体地具有两个相邻红颜色分量的第一加权组合的形式也可以对第一加权组合进行舍入、向下取整或向上取整,以得到整数预测值。
取而代之地,如果步骤S1中调查到差值不小于阈值,则该方法继续至可选但是优选的步骤S3。步骤S3包括计算当前像素的红颜色分量与相邻像素的红颜色分量的第二加权组合WC2之间的第一差值。步骤S3还涉及计算当前像素的红颜色分量与相邻像素的红颜色分量的第三不同加权组合WC3之间的第二差值。在备选方式中,这两个差值分别是在当前像素的红颜色分量与第一和第二相邻像素的相应红颜色分量(或根据红色分量确定的相应值)之间计算的。然后,将该像素的颜色分量预测选择为基于(优选地等于)两个相邻红色分量的第二和第三加权组合之一。此外,基于两个计算的差值来执行该预测选择。一般地,选择与所调查的像素的红色分量最接近的加权组合。因此,如果|Rij-WC2|<|Rij-WC3|(或者等效地,(Rij-WC2)2<(Rij-WC3)2或者实际上但次优选地,|Rij-R(i-1)j|<|Rij-Ri(j-1)|),则在步骤S4中选择红颜色分量的第二加权组合作为红色预测
Figure BPA00001183892000071
否则在步骤S5中选择第三加权组合作为红色预测
Figure BPA00001183892000072
在备选方式中,首先使用第二加权组合作为预测来对当前像素块进行编码,然后使用第三加权组合作为预测再次对其进行编码。在这种情况下,选择得到最高效数据压缩的加权组合作为当前像素的预测。
根据本发明,两个相邻红颜色分量的3种加权组合是不同的加权组合,即使用不同的权重:
Figure BPA00001183892000073
以及
Figure BPA00001183892000075
如以上关于第一加权组合所讨论的,可以对第二和第三加权组合进行舍入、向下取整或向上取整,以得到整数值。
第一加权组合或线性组合的权重
Figure BPA00001183892000076
是非零权重,并且优选地在区间0<w1<1中。优选地,第二和第三加权组合的权重也是非零的,但是每个加权组合中可以有一个权重为0。在这种情况下,
Figure BPA00001183892000077
其中优选地
Figure BPA00001183892000078
以及
Figure BPA00001183892000079
其中优选地
Figure BPA000011838920000710
在优选实施例中,并且
Figure BPA000011838920000712
其中更优选地,
Figure BPA000011838920000714
在这种情况下,第二加权组合为
Figure BPA000011838920000715
第三加权组合为
Figure BPA000011838920000716
第二和第三组合的合适权重值的示例可以为WC2=0.75R(i-1)j+0.25Ri(j-1)以及WC3=0.25R(i-1)j+0.75Ri(j-1)。在
Figure BPA000011838920000717
的情况下,WC2=R(i-1)j并且WC3=Ri(j-1)。这与两个相邻像素的红色分量之一被选为当前像素的红色分量的预测相对应。
然后,该方法继续至步骤S6,其中提供了与所选预测相关联的引导比特。因此,如果在步骤S4中选择第二加权组合作为红色预测,则引导比特可以被设置为0bin(或1bin)。然而,如果取而代之地在步骤S5选择了第三加权组合,则引导比特可以为1bin(或0bin)。
下一步骤S7基于当前像素的红色分量和步骤S2、S4或S5中提供的预测来计算预测误差。优选地,预测误差
Figure BPA00001183892000081
被计算为像素Rij的原始红色分量与其预测
Figure BPA00001183892000082
之间的差值
在步骤S8确定所计算的预测误差的编码的表示。然后,块的压缩或编码的表示包括该编码的表示,并且如果该方法从步骤S1继续至步骤S3,则还包括在步骤S6中为该像素提供的引导比特。
优选地,针对块中的多个像素重复该过程,这由线L1示意性示出。在这种情况下,压缩块包括这些像素中的每个像素的相应编码的预测误差表示。此外,一些像素可以具有所分配的引导比特,而其他具有根据步骤S2计算的预测,因此不具有任何所分配的引导比特。更准确地,根据图1公开的方法来编码的所有像素可以具有引导比特、都不具有所分配的引导比特、或者至少一个可以具有引导比特而至少另一个像素不具有任何所分配的引导比特。
图2是多个像素310-318的块300的示意图。根据图1所示的压缩方法,当对当前像素318进行压缩时,调查具有相同块行和块列中的先前位置的两个相邻像素312、316的红颜色分量。然后,如果其幅度差值小于阈值,则基于这些相邻像素312、316的红色分量的第一加权组合来计算像素318的红色分量的预测,否则选择第二和第三加权组合之一作为预测基础。
如本领域中公知的,颜色缓冲器中像素的原始颜色分量通常是浮点值,具体为半精度浮点数,即fp16。16比特半数的最高有效比特表示符号比特,接下来5个比特构成指数,10个最低有效比特形成尾数。半数的数学值为(-1)sign×2(exp onent-15)×(1.mantissa)。然而,半数的浮点性质带来了问题。由于浮点数的密度不均匀,两个浮点数之间的差值可能不可表示。图3示意了这种概念。图3的上半部指示了浮点表示。数密度的不均匀性清晰可见:越接近0,密度越大。为了示意具有浮点数形式(如半数)的颜色分量表示的问题,假定第一颜色分量为7.5,第二分量值为1.875。这两个数都可以使用半数来表示。然而,两个数之差7.5-1.875=5.625不能以半数表示。明显不同地,最接近的表示为5.5。然而,如在背景技术部分提及的,颜色缓冲器压缩需要是无损的。因此,需要计算上述半数之间差值的块由于该差值不能以半数正确表示而不能无损压缩。
如图3所示,本发明可以通过将每个浮点数映射至相应整数表示来解决该浮点数问题。这基本上对应于向每个浮点数分配唯一整数。因此,从浮点数至整数域的映射涉及向越大的浮点数分配越大的整数。这意味着,0.0将被分配为整数表示0,下一最小正浮点数被分配为1,再下一最小浮点数被分配为2,以此类推。
以上给出的示例将对应于将差值16与整数15相加以获得结果31(或者在解释为浮点数的情况下为7.5)。因此,本发明的优选实现涉及根据浮点域与整数域之间的一对一映射来将浮点颜色分量解释为整数。在整数域进行计算和算术还避免了代价较高的浮点运算。此外,由于压缩是无损的,也获得了对NaN(非数)、Inf(无穷)和异常(异常数)的正确处理。在这种情况下,根据上述映射并如图3所示,在压缩期间将浮点数解释为整数。在解压缩之后,接着通过上述整数与浮点数之间的一对一映射将整数重新解释回浮点数。
优选地,像素中的像素的原始颜色值为可以表示为fp16的无符号15个比特值。
图4是示意了图1的预测计算步骤S2的实施例的流程图。该方法从图1的步骤S1开始继续。下一步骤S10基于两个相邻像素的红颜色分量的平均来计算像素预测
Figure BPA00001183892000092
在优选实现中,采用所计算的平均作为预测,即
Figure BPA00001183892000093
如果仅采用整数预测,则可以对商进行舍入或输入至根据的向下取整(或向上取整函数)。基于平均而确定的其他预测也是可能的,如然后,该方法继续至图7的步骤S7,其中基于所确定的预测来计算预测误差。
图5是示意了本发明的压缩方法的附加优选步骤的流程图。该方法在步骤S20中开始,步骤S20包括针对块选择起始分量值。该起始值被选择为在块中所选或预定位置处的像素的红(第一)颜色分量。参照图2,这种预定位置的优选实现是使用块中的第一像素310,即占据左上角的像素。可能的起始像素位置的其他示例可以是其他块角部中的任一个。实际上,可以使用块中的任何预定位置作为起始位置,尽管角部位置,尤其是左上角像素310,显著简化了块的压缩。
压缩块包括起始分量值的表示Rstart=R11
下一步骤S21将预测选择为块中属于与起始像素310相同行或列的至少一个其余像素312、314、316。在优选实现中,这包括将红颜色分量预测选择为等于块的像素行或列中的先前相邻像素的红颜色分量。这意味着,对于第一行中的像素312、314,预测
Figure BPA00001183892000102
等于R1(j-1),其中j=2,3,...;并且R11是步骤S20中选择的起始分量值。第一列中针对像素316的相应预测定义为
Figure BPA00001183892000103
其中i=2,3,...并且R11是起始分量值。优选地针对第一行和第一列中的每个其余像素执行步骤S21,如线L2示意性所示。
如上所述,然后,针对不同像素,将预测误差计算为像素的原始红颜色分量值与其颜色分量预测之间的差值,即
Figure BPA00001183892000104
Figure BPA00001183892000105
然后,该方法继续至图1的步骤S1,其中如上所述对块中的其余像素(即不在第一行或列中的像素)进行压缩。
颜色缓冲器压缩与其他图像压缩的区别在于,如上所述,在所呈现的三角形与属于背景或属于非常不同颜色的先前呈现的三角形的像素之间可能存在不自然的尖锐颜色不连续性。因此,在块中可能有不连续性边缘。在这种情况下,可以根据本发明来确定并采用所谓重新起始分量值。图6更详细地示意了这一概念。该方法从图5的步骤S20开始继续。下一步骤S30针对块选择重新起始分量值。优选地,该重新起始值被选择为块中所标识的像素的红色(第一)分量。
可以根据不同实施例来标识重新起始像素位置。在第一方式中,在完全不使用任何重新起始值的情况下对块进行压缩。然后,针对每个可能的重新起始位置(即除了先前描述的起始像素位置之外的每个像素位置),将相同块压缩一次。在4×4块的情况下,这意味着确定1+15个不同的压缩块候选。如果在不使用任何重新起始值的情况下压缩的块得到最小的压缩大小,则不采用重新起始值并且省略步骤S30。然而,如果得到最小压缩大小的压缩块候选是使用重新起始值的15个候选之一,则将重新起始像素的位置标识为在具有最小压缩大小的块候选中使用的位置。此外,可以使用压缩块中的单一比特来在不使用重新起始值和使用重新起始值之间进行信号通知。在备选方式中,针对4×4块使用4比特重新起始位置标识符。然而,优选地将第一像素位置预定为起始位置。这意味着,通过将4比特位置标识符设置为与起始位置相对应的0000bin,实现了对不使用重新起始值的隐式信号通知。
以下将结合图7来描述在计算上更加有效的备选方法。
在任一情况下,一旦标识了重新起始位置,则确定块中的重新起始像素位置的表示并将其包括在块的压缩表示中。对于4×4块,该表示可以是4比特位置字。此外,该块包括重新起始值的表示,即占据所标识的重新起始位置的像素的红颜色分量值。
然后,该方法继续至图5的步骤S21。
对于特定块,重新起始像素可以存在于与起始像素相同的块行或列中。例如,假定重新起始像素是第一行的第二像素312,而起始像素310在左上角。在这种情况下,存在于第一列中的像素316将该列中的先前像素的红色分量作为预测。换言之,使用(来自像素310的)起始值R11作为像素316的预测,采用像素316的红颜色分量值作为第一列中的第三像素的预测,以此类推。根据以上参照图6的讨论,第一行的第三像素314的红颜色分量的预测可以等于重新起始值。该行中最后一个像素使用第三像素314的红色分量作为其颜色分量预测。
在备选方式中,可以针对存在于与起始310和重新起始312像素相同行或列中的像素314来选择预测。在这种情况下,采用起始值或重新起始值作为预测,并且针对第一行的第三314和第四像素选择其中得到最小预测误差的一个值。优选地,采用选择比特用于指示起始值和重新起始值中的哪一个用作该行或列中的其余像素314的预测基础。例如,选择比特0bin(或1bin)信号通知当前像素314的预测是起始值,而比特1bin(或0bin)指示使用了重新起始值。
在另一备选方式中,在行或列中的先前像素的红颜色分量与起始/重新起始值中未用作先前像素的预测基础的一个之间进行选择。例如,假定第一行中第三像素314的预测是重新起始值。在这种情况下,该行中第四像素的预测可以等于第三像素的314的红颜色分量或者起始值。然后,选择比特0bin(或1bin)指示该预测等于相同行或列中先前相邻像素的颜色分量,而值1bin(或0bin)信号通知采用起始和重新起始值之一作为预测。此外,如果相邻像素是根据重新起始(起始)值来预测的,则选择起始(重新起始)值作为预测。在又一备选方式中,在行或列中的先前像素的红颜色分量与行或列中根据起始值或重新起始值中未用作先前像素的预测基础的一个来预测的最接近的先前像素之间进行选择。
图7示意了图6的选择步骤S30的实施例。该方法从图5的步骤S20开始继续。下一步骤S40标识块的重新起始像素。如上所述,该步骤可以根据对所有可能重新起始位置的穷尽搜索来执行。在备选方式中,首先针对块中的所有其余像素计算与起始值的绝对差值|R11-Rij|其中(i,j)≠(1,1)。标识颜色分量值与起始值相差最多的像素。这里,该像素的红色分量表示为Rdiff。此后,针对像素计算其红颜色分量与起始值之间的第一绝对差值|Rij-R11|以及其红色分量与Rdiff之间的第二绝对差值|Rij-Rdiff|。在步骤S41中,如果第一绝对差值小于第二绝对差值,则将像素分类为预测起始值,否则将其分类为预测重新起始值。
在这种情况下,将重新起始像素标识为块中按遍历顺序具有大于第一差值的第二绝对差值的第一像素。
下一步骤S42调查存在于与要压缩的当前像素相同行或列中的两个相邻先前像素是否具有与当前像素相同的分类。如果它们都不具有相同的分类,则在这3个像素之间出现不连续性边缘。因此,这些相邻像素都不是当前像素的良好预测候选。本发明还通过对块的像素位置进行重新排序以针对当前像素获得具有与该像素相同分类的至少一个相邻像素,来解决这一问题。
在优选实施例中,重新排序过程优选地仅允许执行有限次数,如1次。否则,根据要压缩的特定块,重新排序可能在两种不同像素布局之间来回切换。
图8A示意了这一概念。图中,起始像素310在左上角。在本示例中,根据上述内容,穷尽搜索或在计算上更有效的重新起始标识过程标识在块的右上角的重新起始像素311。在进行了步骤S41的分类过程之后,在图中标记为白色的像素314、318被分类为基于起始值来预测,而标记为灰色的像素317是基于重新起始值来预测的。假定应当对第二行的第三像素317进行编码。然后,相同行或列的两个相邻像素314、318具有与当前像素317不同的分类。这意味着,使用相邻像素的红颜色分量的平均或其中任一个的红颜色分量作为预测将导致非常大的预测误差和较差的压缩质量。因此可以执行重新排序操作。
在第一实施例中,相对于位于块中第二和第三列之间的垂直线来翻转块中的像素位置。因此,该重新排序涉及将块300中的具有像素位置(i,j)的像素变换至新像素位置(i,5-j),其中i,j=1,2,3,4。图8B中示意了该重新排序操作的结果。注意,这些像素出现在与重新排序之前相同的块行上,但是变为位于新的列中。
在这种情况下,当前像素317具有在相同行上具有相同分类的相邻像素,而相同列中的先前像素314具有另一分类。在压缩期间,计算这两个相邻像素314的红颜色分量之间的差值,并将其与阈值进行比较。由于两个相邻像素314具有不同的分类,该差值可能超过阈值。因此,根据图1,应当使用相邻像素314之一的红色分量作为预测。在这种情况下,预测候选可能是相同行的前一相邻像素,因为其具有与当前像素317相同的分类。
图8C示意了另一重新排序实施例的结果。该实施例涉及相对于位于块300中心的旋转点将块300向右或向左旋转90°。由于这种重新排序,块300中具有先前位置(i,j)的像素得到新的像素位置(j,5-i),其中i,j=1,2,3,4。从图中可以看到,当前像素317现在具有两个候选相邻像素,其中一个由318指示,并且其中一个(存在于相同行中)具有相同的分类因此是良好的预测候选。
如果已经进行了像素位置的重新排序,压缩块优选地包括表示这种像素重新排序的旋转比特(也表示为翻转比特或重新排序比特)。例如1bin(或0bin)可以指示旋转的块,而0bin(或1bin)指示未执行重新排序。
在特定实施例中,可以有多种不同的像素重新排序操作可用。在这种情况下,这些重新排序操作中的一些可以不解决预测问题,因为新的相邻像素仍可能与当前像素具有不同分类。此外,重新排序可能导致块中的其他像素不具有用于预测的、相同分类的任何相邻像素。如上所述,对所有这些不同的重新排序操作进行测试,如块旋转、块翻转等等。此时,旋转比特是多比特旋转字,在无重新排序与多种可用操作中的特定重新排序之间进行区分。
在一个实施例中,如果至少一个像素具有与该像素有不同分类的两个相邻预测像素,则执行像素重新排序。一种备选实现是首先在不进行任何重新排序的情况下压缩块,然后使用位置重新排序再次压缩块。选择最好地表示原始块(即得到最短压缩块表示)的压缩结果,并用作当前块的压缩表示。然后,该方法继续至图5的步骤S21。
图9是示意了图1中确定预测误差的编码的表示的实施例的流程图。该方法从图1的步骤S7开始继续。下一步骤S50修改预测误差来得到正预测误差。优选地,该修改涉及将函数n(x)=-2x应用至负预测误差(包括0),并将函数p(x)=2x-1应用至正预测误差(不包括0)。这将产生预测误差的新配置:{0,1,-1,2,-2,3,-3,...},这意味着具有较小幅度的数将具有较小的值。然后,优选地对每个修改后的预测误差进行Golomb-Rice编码以获得编码的表示。
Golomb-Rice编码涉及搜索指数k。该数k优选地用于块中的一组至少一个像素。例如,块中一组2×2的4个像素可以共享相同的k。可以使用可用k值中的穷尽搜索,如在0至15之间,以找到该组的最佳k。然而,通过仅查找可用k值中的所选部分,可以在计算上简化搜索。该优选k搜索包括在区间[p-4,p]中搜索k,其中p是像素组中最大预测误差的最高有效比特的比特位置。
下一步骤S52将该组的每个预测误差除以2k,以形成相应的商和余数。在下一步骤S53中对商进行一元编码。该一元编码优选地根据下表1来执行:
Table 1-一元码
Figure BPA00001183892000151
从表1可以清楚看到,一元编码将较长的码分配给较大的值。一般地,大于31的值使用0×ffffhex后接该值的16比特来进行编码。
预测误差的编码的表示包括一元码和k比特的余数。此外,针对像素组存储值k。针对块中除起始像素和重新起始像素之外的每个像素执行该过程。如上所述,将这些像素的原始颜色分量值分别存储为起始和重新起始分量值。
尽管Golomb-Rice编码是一种可以使用的可能的编码算法,但是本发明不限于此。取而代之地,可以备选地使用如Huffman编码或Tunstall编码之类的其他编码算法。
独立于其他数据来对红(第一)颜色分量进行编码,而优选地相对于红色分量来对绿(第二)颜色分量进行编码。图10中示意了这种情况。该方法从图1的步骤S8开始继续。下一步骤S60计算块中每个像素的相应分量差值。该分量差值是像素的绿色和红色分量之间的差值Gij-Rij。此后,提供块中第二颜色分量的相应预测。
首先,在步骤S61调查两个相邻像素的红颜色分量之间的幅度差值/差值的平方是否超过阈值。与图1的步骤S1类似地来执行该步骤S61。因此,尽管要提供绿颜色分量的预测,但是步骤S61中的调查采用红颜色分量值。
如果差值小于阈值,则该方法继续至步骤S62。步骤S62基于第一相邻像素的绿和红颜色分量之间的第一差值与第二相邻像素的绿和红颜色分量之间的第二差值的第一加权组合来计算预测。换言之,
Figure BPA00001183892000161
或者舍入的、向下取整的或向上取整的加权组合。在优选实施例中,优选地基于两个分量差值的平均来计算预测,更优选地计算为等于该平均或者在向下取整函数的情况下为
Figure BPA00001183892000163
然而,如果步骤S61中相邻红颜色分量之间的幅度差值超过阈值,则该方法取而代之地继续至步骤S63。步骤S63使用步骤S6中针对当前像素确定的引导比特,以在步骤S64中选择两个差值的第二加权组合作为预测
Figure BPA00001183892000164
或者在步骤S65中选择第三加权组合作为预测
Figure BPA00001183892000165
因此,如果在图6的步骤S4选择红颜色分量的第二加权组合作为当前像素的预测,则在步骤S6设置引导比特,并且在步骤S64中选择颜色分量差值的第二加权组合作为该像素的第二预测。否则,如果未设置引导比特,由于相邻红颜色分量的第三加权组合在步骤S5中被选为像素的第一预测,则在步骤S65中选择差值的第三加权组合作为第二预测。也可以对第二和第三加权组合进行舍入、向下取整或向上取整。
在优选实施例中,以上描述并在图10中公开的用于确定颜色分量差值的3种不同加权组合的权重优选地是与图1中用于确定红颜色分量的3种不同加权组合的相同的权重。
下一步骤S66将像素的绿颜色分量的预测误差计算为像素的绿色和红色分量与所选预测之间的差值
Figure BPA00001183892000171
下一步骤S67涉及确定步骤S66中计算的第二预测误差的第二编码表示。优选地,与以上结合图9描述的步骤S8类似地执行步骤S67,但具有以下差异。不对起始和重新起始像素进行单独处理,而是如同其他预测一样将其馈送入Golomb-Rice(Hoffman或Tunstall)编码。因此,对于起始像素,对以下差值进行Golomb-Rice编码:G11-R11,这也适用于重新起始像素。
对于在与起始和/或重新起始像素相同的行或列上存在的像素,与红颜色分量类似地执行压缩,此外使用绿和红颜色分量之间的差值。因此,与起始像素相同行的像素具有第二预测误差: G ij - ~ R 1 j = ( G 1 j - R 1 j ) - ( G 1 j - ^ R 1 j ) = ( G 1 j - R 1 j ) - ( G 1 ( j - 1 ) - R 1 ( j - 1 ) ) .
然后,如以上结合图9所述,针对蓝色(第三)和其余颜色分量执行相同的过程。然而,在这种情况下,在步骤S60中计算蓝色和绿色分量之间的差值,Bij-Gij。在备选方式中,取而代之地,在步骤S60中计算蓝色和红色分量之间的差值Bij-Rij
图11是根据本发明压缩的像素块的压缩表示400的示意图。压缩块400优选地重新起始比特410。如果针对当前块使用重新起始像素,则设置该比特,即等于1bin。在这种情况下,压缩块还包括重新起始像素位置的指示420和重新起始值的表示430。重新排序比特440信号通知是否执行了任何像素位置重新排序。压缩块400还包括起始值的表示450。压缩块400还包括所确定的k值的表示460、引导比特470和来自Golomb-Rice编码的商和余数的一元码(图中表示为编码的误差表示480)。
压缩块400中包括的分量的实际顺序可以与图11所示的不同。
压缩示例
假定如图2所示的像素块并具有以下红色分量的颜色分量值
  10001   10002   10003   10004
  11   10003   10004   10005
  12   10   8   6
  13   11   9   7
起始值与块中的第一像素相对应,即Rstart=R11=10001。在本情况中,难以标识在边缘处存在的红颜色分量的尖锐不连续性,从而使用起始值来对第一行以及第二行的最后3个像素进行最佳预测,而其他像素则不是如此。
通过针对每个像素来计算其红颜色分量与起始值之间的绝对差值|Rij-Rstart|,可以标识重新起始值:
  0   1   2   3
  9990   2   3   4
  9989   9991   9993   9995
  9988   9990   9992   9994
与起始值相差最多的像素是第三行的第四像素。因此,Rdiff=R34=9995。然后计算该像素的红色分量与Rstart和Rdiff之间的绝对差值。如果|Rij-Rstart|<|Rij-Rdiff|,则向该像素分配临时分类比特0bin,指示其预测起始值,否则其预测重新起始值,并变为分配以1bin。以下示出了当前块的结果。
  0   0   0   0
  1   0   0   0
  1   1   1   1
  1   1   1   1
然后,按遍历顺序,即在第一行中从左至右,然后在第二行中从左至右,以此类推,来调查临时分类比特。将具有分类比特1bin的第一像素标识为重新起始像素。在本示例中,标识第二行的第一像素,因此Rrestart=R21=11。
首先使用预测过程对第一行中的像素进行压缩。因此,该行中的第二像素的预测误差为针对第一行中的其余像素继续该过程,给出预测误差序列或1,1,1。
此后,根据
Figure BPA00001183892000193
对第一列的其余两个像素进行预测。对于第一列的第三像素,这得到此外,该行最后一个像素的预测为1。部分压缩的块具有以下预测误差:
  10001   1   1   1
  11
  1
  1
此后,根据图1来调查第二行的第二像素。计算两个相邻红颜色分量之间的差值并将其与阈值进行比较(10002-11)2=99912>20482。这意味着应当根据图1的步骤S3至S6来进行预测提供。在本示例中,并且计算相邻像素与当前像素的红色分量之间的绝对差值,并对其进行比较|10003-10002|<|10003-11|。这意味着,由于在当前示例中权重的特定选择,像素分量的预测
Figure BPA00001183892000197
引导比特被设置为1bin,指示沿相同列而不是行来执行预测。然后,将预测误差计算为
此后,调查第二行的第三像素。如上所述计算相邻红颜色分量之间的差值的平方(10003-10003)2=0<20482。因此,应当根据图1的步骤S2来提供预测。这意味着,优选地,计算相邻颜色分量的平均,并将其用作预测
Figure BPA00001183892000201
得到的预测误差为
Figure BPA00001183892000202
针对其余块继续该过程得到以下预测误差。
  10001   1   1   1
  11   1*   0   1
  1   -2**   -2**   -2**
  1   0   0   0
*使用引导比特1bin
**使用引导比特0bin
此后,如上所述,可以使用Golomb-Rice编码来对预测误差进行编码。
假定当前块的绿颜色分量具有以下值:
  10020   10023   10026   10029
  20   10021   10024   10027
  18   19   20   21
  16   17   18   19
首先计算相应绿和红颜色分量之间的差值,以获得以下值。
  19   21   23   25
  9   18   20   22
  6   9   12   15
  3   6   9   12
然后,如上所述,使用先前像素值作为预测来处理第一像素行。因此,针对第一行的最后3个像素,得到的预测误差变为2,2,2。第一列的最后2个像素的相应预测误差为-3,-3。
根据针对位置(2,2)处的像素的引导比特,预测等于针对相同列中相邻像素的值。然后,预测误差变为18-21=-3。
应当基于两个相邻像素来预测第二行的第三像素。因此,其预测误差为
Figure BPA00001183892000211
针对其余像素继续该过程给出针对绿色分量的预测误差:
  19   2   2   2
  9   -3   0   0
  -3   3   3   3
  -3   0   0   0
然后,针对蓝色分量执行相同的过程。
解压缩
图12是示出了根据本发明对压缩或编码的像素块进行解压缩或解码的方法的流程图的示意。该方法从步骤S70开始,在步骤S70中针对要解码的块中的像素确定预测误差。该预测误差是基于与该像素相关联并包括在压缩块中的编码的误差表示来确定的。因此,步骤S70涉及利用编码的误差表示来计算像素预测误差。
优选地,通过对预测误差的编码表示进行Golomb-Rice(例如或Hoffman或Tunstall)解码来执行预测误差。在这种情况下,预测误差优选地包括一元编码的商、余数和指数值k。在这种情况下,可以使用上表1从一元编码的数据中获得商。此后,商和余数形成的值乘以2k来形成预测误差。
提供像素的红(第一)颜色分量的预测。该预测提供涉及计算块中两个相邻像素的红颜色分量之间的差值。这两个像素是块中不同预测方向的相邻像素,并且优选地位于块中与要解码的当前像素相同行或列中的先前像素位置。优选地,该差值是绝对差值或差值的平方,以仅提供差值的幅度表示,而与符号无关。在步骤S71中将该差值与预定阈值进行比较。如果该差值小于阈值,则根据步骤S72来执行颜色分量预测,否则该方法继续至步骤S73。
步骤S72根据用于计算在步骤S71的比较中使用的差值的、块中两个相邻像素的红颜色分量来计算分量预测。优选地,基于具有非零权重的第一加权组合,优选地基于如上所述并在图4的步骤S10中示意的两个红颜色分量的平均,来计算该分量预测,这是步骤S72的优选实施例的详细实现。
如果在步骤S71确定该差值不小于阈值,则步骤S73调查与编码的像素相关联并且包括在压缩像素块中的引导比特的(比特)值。如果引导比特具有第一比特值(如1bin),则该方法继续至步骤S74。然而,如果引导比特具有第二比特值(如0bin),则根据步骤S75来进行预测提供。步骤S74涉及将颜色分量预测选择为基于(优选地等于)块中两个相邻像素的红颜色分量的第二加权组合。步骤S75相应地涉及选择块中相邻像素的红颜色分量的第三加权组合作为像素的分量预测。这意味着,在这种情况下,当前像素的块中包括的引导比特指示针对该像素要使用两种可能候选预测中的哪一种。
最终,步骤S76基于步骤S70中确定的预测误差和步骤S72、S74或S75中提供的分量预测来计算像素的红颜色分量的表示。优选地,通过将所确定的预测误差与分量预测相加以得到(部分)解码的像素的红颜色分量来实现该计算。
优选地,针对要解码的块中的每个像素重复图12的解压缩方法,这由线L5示意性示出。这意味着,针对给定压缩块可以一次或多次执行该方法,如针对块中的每个像素执行一次。
图13是示意了解压缩方法中的附加步骤的流程图。该方法从步骤S80开始,步骤S80基于压缩块中包括的起始分量值的表示来提供块中的起始像素的红颜色分量。在优选实施例中,起始值在压缩块中以未编码的形式提供,因此可以被直接分配为起始像素的红颜色分量。如上所述,该像素具有块中的预定位置,优选地在(i,j)=(1,1)处。
步骤S81提供了与起始像素相同像素行或列中的下一像素的预测。步骤S81涉及使用起始像素的红颜色分量,即起始分量值作为相邻像素的预测。然后,基于该分量预测和针对该像素确定的预测误差来确定该像素的颜色分量。
优选地,如线L6示意性示出的,针对包括起始像素的(第一)像素行或列中的其余像素,重复步骤S81。然而,对于这些其他像素,预测不必须是起始像素的红颜色分量,而是明显不同地等于与当前像素相同行或列中的最先前的相邻像素的红颜色分量。因此,可以根据步骤S80来首先执行完整块的解压缩,以解码起始像素。此后,在步骤S81中,基于起始像素的颜色分量值来对第一行和列中的第一相邻像素进行解码。然后,在步骤S81中,基于步骤S81的第一轮中确定的第一相邻像素的第一颜色分量值来对第一行和列中的下一像素进行解码,以此类推,直到到达该行/列的结尾或者到达重新起始像素。其后,该方法继续至步骤S70,在步骤S70中,如图12所公开的,对块中的其余像素进行解码。
图14是示意了在块中的重新起始像素的情况下,解压缩方法的附加步骤的流程图。该方法从图13的步骤S80开始继续。下一步骤S90调查块中是否有任何重新起始像素,并在这种情况下标识重新起始像素。优选地,压缩块包括信号通知该块是否包括重新起始像素的重新起始比特。因此,优选地基于这种重新起始比特来执行步骤S90的调查。此外,压缩块优选地包括位置字,位置字表示块中多个像素中重新起始像素的像素位置。步骤S90优选地使用这种位置信息来标识正确的像素位置。
下一步骤S91提供重新起始像素的红颜色分量。基于压缩像素块中包括的重新起始分量值的表示来执行该提供。在优选实施例中,重新起始值以未编码的形式包括,并且因此可以直接被分配为重新起始像素的红颜色分量。
此后,该方法继续至图13的步骤S81。
图15是示意了用于确定块中的像素的绿(第二)颜色分量的附加方法的流程图。该方法从图12的步骤S76开始继续。下一步骤S100确定要解码的像素的第二预测误差。与结合图12的步骤S70所讨论的第一预测类似地确定该预测。换言之,该预测基于压缩像素块中包括的编码的表示来确定。这意味着,编码的表示优选地包括一元编码的商、余数和指数值k。因此,步骤S100的预测误差确定优选地涉及对编码的表示进行Golomb-Rice(Hoffman或Tunstall)解码。
此后,针对该像素确定绿颜色分量的预测。首先在步骤S101确定并利用两个先前相邻像素的红颜色分量之间的差值,来确定是要根据步骤S102还是要根据步骤S104和S105之一来实施预测提供。步骤S101以与图12的步骤S71相同的方式来执行。
如果步骤S101中(绝对或平方的)差值小于阈值,则步骤S 102根据第一相邻像素的绿和红颜色分量之间的第一差值与第二相邻像素的绿和红颜色分量之间的第二差值的第一加权组合(使用非零权重)来计算该预测。优选地,如图4的步骤S10所示来执行该计算。换言之,计算两个差值的平均,并且优选地基于此来确定预测,优选地将预测设置为等于平均
Figure BPA00001183892000241
Figure BPA00001183892000242
如果在步骤S101中(绝对或平方的)差值超过阈值,则该方法继续至步骤S103,步骤S103使用引导比特来选择针对当前像素使用两种可能候选预测中的哪一种。如果引导比特具有第一值,则该方法继续至步骤S104,其中将预测选择为基于或等于相邻像素的绿和红颜色分量之间的差值的第二加权组合。然而,如果引导比特具有另一值,则取而代之地在步骤S105中选择两个相邻像素的绿和红颜色分量之间的差值的第三加权组合。
然后,该方法继续至步骤S106,其中基于步骤S100中确定的预测误和步骤S102、S104或S105中提供的分量预测来确定像素的绿颜色分量的表示。该步骤S106优选地涉及将预测与预测误差相加,以得到像素的绿和红颜色分量之间的差值。然后,可以通过简单地添加先前确定的红颜色分量(根据图12的步骤S76)来确定绿颜色分量。
如线L8示意性示出的,针对要解码的块中的所有像素,重复该过程。
为了解码蓝色(第三)分量,重复以上结合图15所描述的过程。然而,在这种情况下,处理蓝和绿颜色分量之间(或蓝色和红色分量之间)的差值来代替绿色和红色分量之间的差值。
相应地,如以上结合图13和14的步骤S81和S92所讨论的,对与起始和/或重新起始像素相同行或列上存在的像素进行解码。然而,预测等于相邻像素的绿和红或蓝和绿颜色分量之间的差值,而不提供等于相邻像素的红颜色分量的红颜色分量的预测。
优选地,该方法还涉及调查是否应当执行块中的像素位置的重新排序。优选地,基于压缩像素块中包括的重新排序比特或旋转比特来进行该判定。如果该比特具有第一值(如0bin),则不进行重新排序,否则如上所述例如通过块旋转或块翻转来对像素位置进行重新排序。这种重新排序的示例是从像素位置(i,j)映射至(i,5-j)或(5-j,i)。
解压缩示例
在以下示例中,假定在图2中示意的块大小和在图11中示意的压缩块布局。
重新起始比特:1bin
重新起始位置:0100bin
重新起始值:000000000001011bin
重新排序比特:0bin
起始值:010011100010001bin
k值:X1X2...Xn,其中Xi=0/1bin,i=1...n
引导比特:1000bin
编码的表示:Y1Y2...Ym,其中Yi=0/1bin,i=1...m
针对当前块设置了重新起始比特,意味着应当使用重新起始像素。该重新起始像素的位置是位置编号0100bin=4,如果按遍历顺序(1,1)具有位置编号0,(1,2)具有位置编号1,以此类推,则位置编号4对应于(2,1)。重新起始值为000000000001011bin=11。因此,R(2,1)=Rrestart=11。起始像素在位置(1,1),并且起始值为010011100010001bin=10001。因此,R(1,1)=Rstart=10001。部分解码的块现在看起来如:
  10001
  11
此后,按遍历顺序从第一行开始对块进行解码。位置(1,2)处的下一像素的预测为
在以下示例中,通过这里未公开的Golomb-Rice解码来确定预测误差。因此,假定块的解码后的第一预测误差如下所示:
  -   1   1   1
  -   1   1   1
  1   -2   -2   -2
  1   0   0   0
然后,第二像素的红颜色分量可以计算为:
Figure BPA00001183892000262
第一行中第三像素的相应颜色分量为针对第一行中的第四也是最后一个像素重复该过程,以给出以下部分解码的块:
  10001   10002   10003   10004
  11
此后,对第一列中的像素进行解码。该列中的第三像素的红颜色分量为以类似方式对第一列中的最后一个像素进行解码,得到以下块:
  10001   10002   10003   10004
  11
  12
  13
现在要解码位置(2,2)处的像素。在该解码示例中,这里针对第一、第二和第三加权组合,采用与在先前压缩示例中使用的相同的权重。计算相邻颜色分量R(1,2)与R(2,1)之间的差值,并将差值的平方与本示例中为20482的预定阈值进行比较:(R1,2)-R(2,1))2=(10002-11)2=99912>20482。这意味着该像素与引导比特相关联,并且应当仅根据相邻的第一颜色分量之一来进行预测,因为第二和第三组合的权重分别为1和0以及0和1。引导比特在这种情况下为1bin,意味着应当使用相同列的相邻像素作为预测,即
Figure BPA00001183892000272
针对位置(2,3)处的像素重复该过程,给出:(R(1,3)-R(2,2))2=(10003-10003)2=0<20482。因此,该像素应当根据两个相邻红颜色分量来预测:针对第二行的最后一个像素执行相同的操作,以得到以下部分解码的块:
  10001   10002   10003   10004
  11   10003   10004   10005
  12
  13
现在要解码位置(3,2)处的像素。计算相邻颜色分量R(2,2)与R(3,1)之间的差值,并将差值的平方与预定阈值进行比较:(R(2,2)-R(3,1))2=(10003-12)2=99912>20482。这意味着该像素与引导比特相关联,并且应当仅根据相邻的第一颜色分量之一来进行预测。引导比特在这种情况下为0bin,意味着应当使用相同行的相邻像素作为预测,即沿第三行继续该过程给出以下块:
  10001   10002   10003   10004
  11   10003   10004   10005
  12   10   8   6
  13
最后,处理最后一列中的其余像素。在这种情况下,根据这些像素的相应相邻像素的平均红颜色分量来预测所有这些像素,针对第一颜色分量给出最终的块:
  10001   10002   10003   10004
  11   10003   10004   10005
  12   10   8   6
  13   11   9   7
此后,对其余两个颜色分量进行解码。假定根据压缩块确定针对起始和重新起始像素的第二预测误差分别为19和9。这意味着G(1,1)-R(1,1)=19以及G(2,1)-R(2,1)=9。可以通过简单地将相应解码的红色分量与预测误差相加得到G(1,1)=10020和G(2,1)=20,来获得这两个像素的绿色分量。
然后,针对绿色分量从起始和重新起始值开始对其余像素进行解码。针对蓝色也是最后一个颜色分量重复该过程。
实现方面
图16是可以应用本发明的教导的颜色缓冲器架构1的示意概述。该架构包括:随机存取存储器(RAM)50,用于存储像素块,包括颜色缓冲器等等。缓冲器单元10包括根据本发明的解压缩器200,用于对从RAM 50取出的压缩块进行解压缩。解压缩或解码的块临时存储在缓冲器单元10的相关联瓦片高速缓存(tile cache)14中。在缓冲器单元10中还提供了根据本发明的压缩器100,用于对高速缓存14中存在的像素块进行压缩以存储在RAM 50中。
在优选实施例中,缓冲器单元10还包括瓦片表高速缓存(tile tablecache)12。该表高速缓存12存储与像素块相关联的首部信息,但是保持与颜色缓冲器数据分离。瓦片表条目典型地包含标记,该标记信号通知相关联的像素块是以未压缩的形式还是以压缩的形式存储在RAM 50中。在后一种情况下,优选地,该标记还信号通知压缩块的大小,因为不同的压缩块可以具有不同的总比特长度。例如,可以使用2比特标记来信号通知未压缩块、被压缩以原始大小的50%的压缩块、被压缩以原始大小的25%的压缩块、或者快速颜色清除的压缩块。
光栅化器20或光栅化单元20连接至缓冲器单元10,并执行像素的实际光栅化。光栅化器20连接至用于计算像素的深度和颜色的一个或多个像素管道30。每个像素管道30连接至深度测试单元40,深度测试单元40负责丢弃由先前绘制的几何形状所包藏的像素(即具有较大的深度值)。在一些实施例中,根据图16公开的内容,像素管道30和深度测试单元40的顺序可以互换。
压缩器
图17是根据本发明的压缩器100的示意框图。压缩器100包括:预测提供器110,被配置用于提供对压缩器要压缩的多像素块中的像素的红(第一)颜色分量的预测。预测提供器110包括:差值计算器,被配置用于计算位于与当前像素相邻、但是在块中的相同像素列或像素行中的先前位置处的两个相邻像素的红颜色分量之间的差值。然后,至少部分基于该差值来确定针对该像素要选择的特定预测。
如果差值的绝对值或差值的平方小于预定阈值,则提供器110的预测计算器114被激活,并基于两个相邻像素的红颜色分量的第一加权组合来计算该像素的颜色分量预测。优选地,预测计算器114确定两个相邻红颜色分量的平均。然后根据该平均,可能利用块中像素的其他颜色分量来计算预测,但是优选地计算为等于该平均。
然而,如果差值不小于阈值,则激活提供器110的预测选择器116。该预测选择器116选择两个相邻像素的红颜色分量的第二加权组合和第三不同加权组合之一作为像素的预测。优选地,预测选择器116还被配置用于计算红颜色分量的相应第二和第三加权组合。
在优选实施例中,如果差值R(i-1)j-Ri(j-1)不小于阈值,则差值计算器112计算两个相邻像素的红颜色分量的第二加权组合与当前像素之间的第一差值以及相邻像素的红颜色分量的第三加权组合与当前像素之间的第二差值。预测选择器116使用这两个计算的差值来选择当前像素的红颜色分量的预测。一般地,选择器116选择第二和第三加权组合中在幅度方面得到第一和第二差值中的最小差值的一个加权组合。
引导比特提供器118被配置为在功能上连接至预测选择器116。提供器产生引导比特作为颜色分量预测因子,引导比特表示所选的预测方向和预测选择器116选择的加权组合。
压缩器100还包括:误差计算器120,基于像素的红颜色分量和从提供器110提供的预测来计算当前像素的预测误差。优选地,该误差是(真实)颜色分量与预测之间的差值。
表示确定器130处理所计算的预测误差,以得到编码的误差表示。所产生的压缩块包括针对当前像素的该编码的误差表示和引导比特(如果采用引导比特,即如果预测选择器116而不是预测计算器114提供了像素的颜色分量预测)。
现在,压缩器110已经压缩了像素的红颜色分量。优选地,针对块中的其他像素重复该过程。此外,在压缩像素的绿(第二)颜色分量时,压缩器100的分量差值计算器140被激活。计算器140针对块中的每个像素计算像素的绿和红颜色分量之间的相应差值Gij-Rij
在这种情况下,差值计算器112调查:针对给定像素,其沿预定预测方向的两个相邻像素的红颜色分量之间的差值是否超过阈值。如果该差值小于阈值,则预测计算器114基于第一相邻像素的绿和红颜色分量之间的第一差值与第二相邻像素的绿和红颜色分量之间的第二差值的第一加权组合(优选地采用与红颜色分量的第一加权组合相同的非零权重)来计算像素的第二预测。在优选实施例中,基于(更优选地等于)第一和第二差值的平均来计算第二预测。
如果取而代之地该差值超过阈值,则预测选择器116选择第一和第二差值的第二和第三加权组合(优选地采用与红颜色分量的相应第二和第三加权组合相同的权重)之一G(i-1)j-R(i-1)j或Gi(j-1)-Ri(j-1)作为当前像素的第二预测。优选地,选择器116使用分配给像素的、先前确定的引导比特来选择要使用这两个加权组合中的哪一个作为第二预测。备选地,差值计算器可以重新计算差值Rij-WC2和Rij-WC3,并基于此来选择第二预测。
误差计算器120计算颜色分量差值Gij-Rij与预测提供器110提供的预测之间的预测误差。确定器130确定针对第二误差计算的预测误差的编码表示,结果被包括在压缩块中。
优选地,分量差值计算器140还计算块中像素的蓝(第三)和绿颜色分量之间的差值Bij-Gij。然后,以与上述类似的方式来处理这些差值,以提供该像素的蓝颜色分量预测和第三编码预测误差表示。
压缩器100的单元110至140可以作为软件、硬件或其组合来提供。单元110至140可以一起实现在压缩器100中。备选地,分布式实现也是可能的,其中一些单元在颜色缓冲器架构中的其他地方提供。
图18是更详细示意了图17的表示确定器130的优选实现的框图。确定器130包括误差修改器132。修改器132处理所计算的预测误差,以得到如上所述的正预测误差,即针对负预测误差(和0值)将预测误差x输入函数n(x)=-2x,针对正预测误差将预测误差x输入函数p(x)=2x-1。优选地使用Golomb-Rice编码器134对得到的修改后的预测误差进行编码。该编码器134基于来自误差修改器132的正误差的编码来输出编码的预测误差表示。
一般地,编码器134包括:值搜索器,用于搜索用于得到数值2k的指数值k,修改后的预测误差除以2k。优选地针对块中的一组像素来确定值k,使得这些像素共享相同的值k。与针对块中的每个像素具有专用的值k相比,这节省了最终压缩块表示的比特数。值搜索器131可以在所有可用值k(如0≤k≤15)中执行穷尽搜索。然后选择得到最高效编码(即最短压缩块表示)的值k,并将其用于该像素组。在计算代价相对较小的实施例中,值搜索器仅在p-4≤k≤p中执行搜索,其中p是所调查的像素组的最大第一颜色分量中的最高有效比特的比特位置。
除法器133使用所确定的值k,并将当前组中的像素的预测误差除以数值2k以得到商和k比特余数。一元编码器135被提供用于根据公知的过程来对商进行一元编码。然后,像素的编码的预测误差表示包括一元编码的商、余数和值k。
表示确定器130的单元132至135可以作为软件、硬件或其组合来提供。单元132至135可以一起实现在表示确定器130中。备选地,分布式实现也是可能的,其中一些单元在压缩器中的其他地方提供。
图19是示意了压缩器100的另一实施例的示意框图。除了先前结合图17所描述的单元之外,压缩器包括起始选择器150。起始选择器150选择块的起始分量值,其中该值等于块中所选像素的红颜色分量。优选地,该像素具有块中的预定像素位置,并且优选地是左上角像素。压缩块表示包括起始分量值的表示,优选地作为未编码的比特序列,即如果起始值是P比特序列,则压缩块中包括的表示是相同的P比特序列。
预测提供器110被配置为提供存在于与起始像素相同行和列(优选地第一行和列)中的像素的预测。对于这些像素,相应预测被选择为等于在与当前像素相同行或列中具有朝向起始像素的紧接在前位置的像素的红颜色分量(在第一预测的情况下)、绿和红颜色分量之间的差值(在第二预测的情况下)、或者蓝和绿颜色分量之间的差值(在第三预测的情况下)。
优选地,压缩器100还包括重新起始选择器160,用于选择重新起始分量值。选择器160提供重新起始值,该重新起始值等于块中所选重新起始像素的红颜色分量。可以根据对除起始像素之外的每个像素位置进行调查的穷尽搜索来执行对重新起始像素的标识。对于每个候选重新起始位置,确定块的压缩候选表示。优选地,选择得到最高效压缩(即压缩块的最短比特序列)的候选重新起始像素。此外,优选地还确定在没有重新起始选择器160的操作,即没有块中的任何重新起始像素的情况下的压缩候选表示,并将其与具有重新起始值的候选进行编码效率的比较。在这种情况下,压缩块中可以包括重新起始比特,以信号通知该块是否具有任何重新起始像素。
取代采用计算代价较高的穷尽搜索,重新起始选择器160可以标识块中红颜色分量与来自起始选择器的起始分量值相差最多的像素。对于每个像素,计算红颜色分量与起始值之间的第一差值Rij-Rstart以及红颜色分量与相差最多的值之间的第二差值Rij-Rdiff。如果对于某个像素第一差值最小,则像素分类器170将该像素分类为预测起始分量值。然而,如果|Rij-Rdiff|<|Rij-Rstart|,分类器170取而代之地将该像素分类为预测重新起始分量值。
重新起始选择器160调查被认为预测重新起始值的所有像素,并将重新起始像素标识为按遍历顺序被认为预测重新起始值的第一像素(在4×4像素块的情况下(1,1)→(1,4),(2,1)→(2,4),(3,1)→(3,4),(4,1)→(4,4))。然后,优选地,压缩块表示包括所标识的重新起始像素的位置的表示和重新起始值的表示,即所标识的重新起始像素的红颜色分量值。
像素调查器180被配置在压缩器100中,用于调查在位置(i-1,j)和(i,j-1)处的两个相邻像素中的任一个是否具有与位置(i,j)处的当前像素相同的分类。如果它们中的任一个都不具有该相同分类,则针对该像素没有任何良好的预测可用。压缩器100通过像素重新排序器190解决该问题。然后,重新排序单元190对块中的像素的相对位置进行重新排序,使得在新位置(i-1,j)和(i,j-1)处的至少一个新相邻像素优选地具有与当前像素相同的分类。优选地,压缩块表示包括旋转比特,指示针对当前块是否执行了任何像素重新排序。
压缩器100的单元110至190可以作为软件、硬件或其组合来提供。单元110至190可以一起实现在压缩器100中。备选地,分布式实现也是可能的,其中一些单元在颜色缓冲器架构中的其他地方提供。
解压缩器
图20是根据本发明的解压缩器200的实施例的框图,解压缩器200用于对压缩像素块进行解压缩。解压缩器200包括:误差确定器210,被配置用于确定要解码的像素的预测误差。该预测误差是基于分配给像素并包括在压缩像素块中的编码的误差表示来确定的。
预测提供器220实现在解压缩器200中,用于提供像素的红颜色分量的预测。提供器220包括差值计算器222,用于计算存在于与当前像素相同块行和列中的两个相邻像素的先前解码的红颜色分量之间的差值。将该差值或更优选地绝对值或差值的平方与预定阈值进行比较。如果该差值小于阈值,则预测计算器224被激活并基于这两个相邻颜色分量的第一(非零)加权组合来计算预测。如上所述,优选地基于两个颜色分量的平均来执行计算。
然而,如果差值超过阈值,则预测选择器226选择相邻像素的先前解码的颜色分量的第二和第三加权组合之一作为预测。此外,该选择是基于被分配给像素并包括在压缩像素块中的引导比特来执行的。
表示计算器230使用来自误差确定器210的预测误差和来自提供器220的预测来计算像素的红颜色分量。
相应地,在解码像素的绿颜色分量时,误差确定器210根据压缩块中包含的数据来确定像素的第二误差预测。如果两个相邻像素的红颜色分量之间的差值小于阈值,则预测计算器224如上所述基于两个相邻像素的先前解码的绿和红颜色分量之间的差值的第一加权组合来计算第二预测。在另一情况下,即差值超过阈值的情况下,选择器226使用引导比特来选择两个相邻像素的先前解码的绿和红颜色分量之间的差值的第二和第三加权组合之一作为第二预测。
优选地,表示计算器230将来自确定器210的第二预测误差与来自预测提供器220的第二预测相加。此外,将像素的先前解码的红颜色分量与上述和相加以得到解码的绿颜色分量。针对蓝颜色分量,解压缩器200通过确定第三预测误差和提供第三预测来重复该过程。将先前解码的绿颜色分量与第三误差和预测相加,以得到像素的解码的蓝颜色分量。
解压缩器200的单元210至230可以作为软件、硬件或其组合来提供。单元210至230可以一起实现在解压缩器200中。备选地,分布式实现也是可能的,其中一些单元在颜色缓冲器架构中的其他地方提供。
图21是误差确定器210的实施例的示意框图。确定器210包括对压缩块中编码的预测误差表示进行操作的Golomb-Rice解码器212。具体地,如上所述解码器212使用像素的一元编码的商、k比特余数和值k来计算预测误差。
误差确定器210的单元212可以作为软件、硬件或其组合来提供。单元212可以一起实现在误差确定器210中。备选地,分布式实现也是可能的,其中一些单元在解压缩器中的其他地方提供。
图22是示意了解压缩器200的备选实施例的示意。除了先前结合图20描述的解压缩器单元之外,解压缩器200还包括起始提供器240。起始提供器240被实现用于提供块中起始像素的红颜色分量。优选地,该分量被设置为等于压缩像素块中包括的起始分量值。
优选地,预测提供器220通过以下操作来提供与起始像素相同行和列中的像素的预测:将预测设置为等于该行或列中的下一先前像素的红颜色分量、绿和红颜色分量之间的差值、以及蓝和绿颜色分量之间的差值。
对应的重新起始标识符250被配置在解压缩器200中,用于确定块中是否存在任何重新起始像素。该判定是基于压缩像素块中包括的重新起始比特来进行的。如果应当使用重新起始值,则标识器250使用压缩块的重新起始位置标识符来标识块中被认为是重新起始像素的特定像素位置。
重新起始提供器260将重新起始像素的红颜色分量设置为等于压缩块中包括的重新起始分量值。
可选的像素重新排序单元270被实现在解压缩器200中,用于调查重新排序比特或字,以确定在像素被解码之后是否应当对像素位置执行任何重新排序。
解压缩器200的单元210至270可以作为软件、硬件或其组合来提供。单元210至270可以一起实现在解压缩器200中。备选地,分布式实现也是可能的,其中一些单元在颜色缓冲器架构中的其他地方提供。
图23是示意了针对不同分辨率的“阴影”场景的压缩性能的图,其中100%表示原始带宽。虚线与Hasselgren和
Figure BPA00001183892000361
[2]提出的深度缓冲器压缩方案相对应,实线表示本发明的颜色缓冲器压缩。注意本发明如何将数据压缩至原始大小的45%和39%之间。这意味着针对所有所测试的分辨率将带宽减小超过50%,这是显著的增益。
在多种分辨率中使用了相同的场景以测试针对不同大小的三角形的性能。较低分辨率意味着三角形与像素相比较小,即“高复杂度”类型的场景。高分辨率意味着三角形与像素相比较大,表示“低复杂度”类型的场景。
本领域技术人员可以理解,在不脱离由所附权利要求限定的本发明的范围的前提下,可以对本发明做出各种修改和改变。
参考文献
[1]Rasmusson,Hasselgren and
Figure BPA00001183892000362
“Exact andError-bounded Approximate Color Buffer Compression andDecompression”,Graphics Hardware,2007,pp.41-48
[2]Haselgren and
Figure BPA00001183892000363
“Efficient Depth BufferCompression”,Graphics Hardware,2006,pp.103-110

Claims (22)

1.一种对多个像素的块进行压缩的方法,每个像素包括具有多个颜色分量的相应颜色,所述方法包括以下步骤:
-针对所述块中的至少一个像素,通过以下操作来提供所述至少一个像素的第一颜色分量的第一预测:
a)如果所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的幅度差值小于阈值,则基于所述块中所述第一相邻像素的第一颜色分量与所述块中所述第二相邻像素的第一颜色分量的采用非零权重的第一加权组合来计算所述第一预测;
b)如果所述幅度差值不小于所述阈值,则将所述第一预测选择为基于以下之一:所述第一相邻像素的第一颜色分量与所述第二相邻像素的第一颜色分量的不同的第二加权组合;以及所述第一相邻像素的第一颜色分量与所述第二相邻像素的第一颜色分量的不同的第三加权组合;以及
c)如果所述幅度差值不小于所述阈值,则提供与所述第二加权组合和所述第三加权组合中所选的一个相关联的引导比特;
-针对所述块中的每个像素,计算所述像素的相应第二颜色分量与所述像素的相应所述第一颜色分量之间的差值;
-通过以下操作来提供所述至少一个像素的第二颜色分量的第二预测:
d)如果所述幅度差值小于所述阈值,则基于所述第一相邻像素的第二颜色分量和所述第一颜色分量之间的第一差值与所述第二相邻像素的第二颜色分量和所述第一颜色分量之间的第二差值的第四加权组合来计算所述第二预测;
e)如果所述幅度差值不小于所述阈值,则基于所述引导比特,将所述第二预测选择为基于以下之一:所述第一差值和所述第二差值的不同的第五加权组合;以及所述第一差值和所述第二差值的不同的第六加权组合;
-基于所述至少一个像素的所述第一颜色分量和所述第一预测来计算第一预测误差;
-基于所述至少一个像素的所述第二和第一颜色分量之间的差值和所述第二预测来计算第二预测误差;
-确定所述第一预测误差的第一编码表示;以及
-确定所述第二预测误差的第二编码表示,其中所述块的压缩表示包括所述第一编码表示、所述第二编码表示和所述可选的引导比特。
2.根据权利要求1所述的方法,其中,所述计算步骤a)包括:如果所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量之间的所述幅度差值小于所述阈值,则基于所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量的平均来计算所述第一预测。
3.根据权利要求1所述的方法,其中,所述选择步骤b)包括:
-计算所述第二加权组合与所述至少一个像素的所述第一颜色分量之间的第三差值;
-计算所述第三加权组合与所述至少一个像素的所述第一颜色分量之间的第四差值;以及
-基于所述第三差值和所述第四差值来选择所述第一预测。
4.根据权利要求1所述的方法,还包括以下步骤:
-基于w×R(i-1)j+(1-w)×Ri(j-1)来计算所述第二加权组合,其中w是权重,R(i-1)j是所述第一相邻像素的所述第一颜色分量,以及Ri(j-1)是所述第二相邻像素的所述第一颜色分量;以及
-基于(1-w)×R(i-1)j+w×Ri(j-1)来计算所述第三加权组合。
5.根据权利要求1至4中任一项所述的方法,还包括以下步骤:
-将起始分量值选择为所述块中所选像素的第一颜色分量,其中,所述压缩块表示包括所述起始分量值的表示;以及
-针对包括所述所选像素在内的第一块行或第一块列中的至少一个其余像素之中的每一个其余像素,将所述第一预测选择为所述第一块行或所述第一块列中的相应先前相邻像素的第一颜色分量。
6.根据权利要求5所述的方法,其中,所述块包括所述多个像素的颜色的不连续性边缘,所述方法还包括:将重新起始分量值选择为所述块中与具有被选择为所述起始分量的第一颜色分量的所述所选像素相比在所述不连续性边缘另一侧的所标识像素的第一颜色分量,其中,所述压缩块表示包括所述重新起始分量值的表示和所述块中所述所标识像素的像素位置的表示。
7.根据权利要求6所述的方法,还包括以下步骤:
-将所述块中的所述像素分类为预测所述起始分量值或所述重新起始分量值;
-调查所述第一相邻像素和第二相邻像素中的任一个是否具有与所述至少一个像素相同的分类;以及
-如果所述第一相邻像素和第二相邻像素都不具有与所述至少一个像素相同的分类,则对所述块中的像素进行重新排序,其中所述压缩块表示包括表示任何像素重新排序的旋转比特。
8.根据权利要求7所述的方法,其中,所述分类步骤包括以下步骤:
-如果所述块中的像素的第一颜色分量与所述起始分量值之间的幅度差值小于所述像素的所述第一颜色分量与所述块中与所述起始分量值相差最多的第一颜色分量之间的幅度差值,则将所述块中的所述像素分类为预测所述起始分量值;以及
-如果所述像素的所述第一颜色分量与所述起始分量值之间的幅度差值不小于所述像素的所述第一颜色分量与所述块中与所述起始分量值相差最多的所述第一颜色分量之间的幅度差值,则将所述块中的所述像素分类为预测所述重新起始分量值。
9.一种对压缩像素块进行解压缩的方法,所述方法包括以下步骤:
-针对所述块中的至少一个像素,基于与所述至少一个像素相关联、并包括在所述压缩像素块中的第一编码误差表示来确定第一预测误差;
-针对所述至少一个像素,基于所述压缩像素块中包括的第二编码表示来确定第二预测误差;
-通过以下操作来提供所述至少一个像素的第一颜色分量的第一预测:
a)如果所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的幅度差值小于阈值,则基于所述第一相邻像素的第一颜色分量与所述第二相邻像素的第一颜色分量的采用非零权重的第一加权组合来计算所述第一预测;以及
b)如果所述幅度差值不小于所述阈值,则基于与所述至少一个像素相关联并包括在所述压缩像素块中的引导比特,将所述第一预测选择为基于以下之一:所述第一相邻像素的所述第一颜色分量和所述第二相邻像素的所述第一颜色分量的第二不同加权组合;以及所述第一相邻像素的所述第一颜色分量和所述第二相邻像素的所述第一颜色分量的第三不同加权组合;
-通过以下操作来提供所述至少一个像素的第二颜色分量的第二预测:
a)如果所述幅度差值小于所述阈值,则基于所述第一相邻像素的第二颜色分量和所述第一颜色分量之间的第一差值与所述第二相邻像素的第二颜色分量和所述第一颜色分量之间的第二差值的第一加权组合来计算所述第二预测;
b)如果所述幅度差值不小于所述阈值,则基于所述引导比特,将所述第二预测选择为基于以下之一:所述第一差值和所述第二差值的第二不同加权组合;以及所述第一差值和所述第二差值的第三不同加权组合;
-基于所述第一预测误差和所述第一预测来计算所述至少一个像素的所述第一颜色分量的表示;以及
-基于所述第二预测误差和所述第二预测来计算所述至少一个像素的所述第二颜色分量的表示。
10.根据权利要求9所述的方法,还包括以下步骤:
-基于所述压缩像素块中包括的起始分量值的表示,提供所述块中起始像素的第一颜色分量;以及
-针对包括所述起始像素在内的第一块行或第一块列中的至少一个其余像素,将所述第一预测提供为所述第一块行或所述第一块列中的相应先前相邻像素的第一颜色分量。
11.根据权利要求10所述的方法,还包括以下步骤:
-基于所述压缩像素块中的重新起始像素位置的表示,标识所述块中的重新起始像素;以及
-基于所述压缩像素块中包括的重新起始分量值的表示,提供所述重新起始像素的第一颜色分量。
12.根据权利要求11所述的方法,还包括:基于所述压缩像素块中包括的旋转比特来对所述块中的所述像素进行重新排序。
13.一种用于压缩多个像素的块的块压缩器,每个像素包括具有多个颜色分量的相应颜色,所述块压缩器包括:
-分量差值计算器,用于针对所述块中的每个像素,计算所述像素的相应第二颜色分量与所述像素的相应第一颜色分量之间的差值;
-预测提供器,被配置用于,针对所述块中的至少一个像素,提供所述至少一个像素的第一颜色分量的第一预测和第二颜色分量的第二预测,所述块压缩器包括:
-差值计算器,用于计算所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值;
-预测计算器,能够在所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值的幅度小于阈值的情况下操作,并被配置用于基于所述块中所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量的采用非零权重的第一加权组合来计算所述第一预测,并且基于所述第一相邻像素的第二颜色分量和所述第一颜色分量之间的第一差值与所述第二相邻像素的第二颜色分量和所述第一颜色分量之间的第二差值的第二加权组合来计算所述第二预测;
-预测选择器,能够在所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值的所述幅度不小于所述阈值的情况下操作,并被配置用于将所述第一预测选择为基于以下之一:所述块中所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量的不同的第三加权组合;以及所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量的不同的第四加权组合;以及
-引导比特提供器,能够在所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值的所述幅度不小于所述阈值的情况下操作,并被配置用于提供与由所述预测选择器所选择的所述第三加权组合和所述第四加权组合中的加权组合相关联的引导比特,其中,所述预测选择器能够在所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值的所述幅度不小于所述阈值的情况下操作,并被配置用于,基于所述引导比特,将所述第二预测选择为基于以下之一:所述第一差值和所述第二差值的不同的第五加权组合;以及所述第一差值和所述第二差值的不同的第六加权组合;
-误差计算器,基于所述至少一个像素的所述第一颜色分量和所述第一预测来计算第一预测误差,并且基于所述至少一个像素的所述第二颜色分量和第一颜色分量之间的差值和所述第二预测来计算第二预测误差;以及
-表示确定器,确定所述第一预测误差的第一编码表示并确定所述第二预测误差的第二编码表示,其中所述块的压缩表示包括所述第一编码表示、所述第二编码表示和所述可选的引导比特。
14.根据权利要求13所述的压缩器,其中,所述差值计算器被配置用于计算:i)所述第三加权组合与所述至少一个像素的所述第一颜色分量之间的第三差值;以及ii)所述第四加权组合与所述至少一个像素的所述第一颜色分量之间的第四差值;以及,预测选择器被配置用于基于所述第三差值和所述第四差值来选择所述第一预测。
15.根据权利要求13或14所述的压缩器,还包括:起始选择器,将起始分量值选择为所述块中所选像素的第一颜色分量,其中,所述压缩块表示包括所述起始分量值的表示;以及,所述预测提供器被配置用于针对包括所述所选像素在内的第一块行或第一块列中的至少一个其余像素,将所述第一预测提供为所述第一块行或所述第一块列中的相应先前相邻像素的第一颜色分量。
16.根据权利要求15所述的压缩器,其中,所述块包括所述多个像素的颜色的不连续性边缘,所述压缩器还包括:重新起始选择器,用于将重新起始分量值选择为所述块中与具有被所述起始选择器选择为所述起始分量的第一颜色分量的所述所选像素相比在所述不连续性边缘另一侧的所标识像素的第一颜色分量,其中,所述压缩块表示包括所述重新起始分量值的表示和所述块中所述所标识像素的像素位置的表示。
17.根据权利要求16所述的压缩器,还包括:
-像素分类器,用于将所述块中的所述像素分类为预测所述起始分量值或所述重新起始分量值;
-像素调查器,用于调查所述第一相邻像素和第二相邻像素中的任一个是否具有与所述至少一个像素相同的分类;以及
-像素重新排序单元,在所述第一相邻像素和第二相邻像素都不具有与所述至少一个像素相同的分类的情况下,对所述块中的像素进行重新排序,其中所述压缩块表示包括表示任何像素重新排序的旋转比特。
18.根据权利要求17所述的压缩器,其中,所述像素分类器被配置用于:i)如果所述块中的像素的第一颜色分量与所述起始分量值之间的幅度差值小于所述像素的所述第一颜色分量与所述块中与所述起始分量值相差最多的第一颜色分量之间的幅度差值,则将所述块中的所述像素分类为预测所述起始分量值;以及ii)如果所述像素的所述第一颜色分量与所述起始分量值之间的幅度差值不小于所述像素的所述第一颜色分量与所述块中与所述起始分量值相差最多的所述第一颜色分量之间的幅度差值,则将所述块中的所述像素分类为预测所述重新起始分量值。
19.一种对压缩像素块进行解压缩的块解压缩器,所述块解压缩器包括:
-误差确定器,针对所述块中的至少一个像素,基于与所述至少一个像素相关联、并包括在所述压缩像素块中的第一编码误差表示来确定第一预测误差,并且针对所述至少一个像素,基于所述压缩像素块中包括的第二编码表示来确定第二预测误差;
-预测提供器,用于提供所述至少一个像素的第一颜色分量的第一预测和所述至少一个像素的第二颜色分量的第二预测,所述预测提供器包括:
-差值计算器,用于计算所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值;
-预测计算器,能够在所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值的幅度小于阈值的情况下操作,并被配置用于基于所述第一相邻像素的第一颜色分量与所述第二相邻像素的第一颜色分量的采用非零权重的第一加权组合来计算所述第一预测,并基于所述第一相邻像素的第二颜色分量和所述第一颜色分量之间的第一差值与所述第二相邻像素的第二颜色分量和所述第一颜色分量之间的第二差值的第一加权组合来计算所述第二预测;以及
-预测选择器,能够在所述块中第一相邻像素的第一颜色分量与所述块中第二相邻像素的第一颜色分量之间的差值的所述幅度不小于所述阈值的情况下操作,并被配置用于,基于与所述至少一个像素相关联并包括在所述压缩像素块中的引导比特,将所述第一预测选择为基于以下之一:所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量的第二不同加权组合;以及所述第一相邻像素的所述第一颜色分量与所述第二相邻像素的所述第一颜色分量的第三不同加权组合,并基于所述引导比特,将所述第二预测选择为基于以下之一:所述第一差值和所述第二差值的第二不同加权组合;以及所述第一差值和所述第二差值的第三不同加权组合;
-表示确定器,基于所述第一预测误差和所述第一预测来计算所述至少一个像素的所述第一颜色分量的表示,并基于所述第二预测误差和所述第二预测来计算所述至少一个像素的所述第二颜色分量的表示。
20.根据权利要求19所述的解压缩器,还包括:起始提供器,基于所述压缩像素块中包括的起始分量值的表示,提供所述块中起始像素的第一颜色分量;其中,所述预测提供器被配置用于针对包括所述起始像素在内的第一块行或第一块列中的至少一个其余像素,将所述第一预测提供为所述第一块行或所述第一块列中的相应先前相邻像素的第一颜色分量。
21.根据权利要求20所述的解压缩器,还包括:
-重新起始标识器,基于所述压缩像素块中的重新起始像素位置的表示,标识所述块中的重新起始像素;以及
-重新起始提供器,基于所述压缩像素块中包括的重新起始分量值的表示,提供所述重新起始像素的第一颜色分量。
22.根据权利要求21所述的解压缩器,还包括:像素重新排序单元,基于所述压缩像素块中包括的旋转比特来对所述块中的所述像素进行重新排序。
CN2008801249758A 2008-01-21 2008-05-21 基于预测的图像处理 Expired - Fee Related CN101919254B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US2239708P 2008-01-21 2008-01-21
US61/022,397 2008-01-21
EPPCT/EP2008/055520 2008-05-06
EP2008055520 2008-05-06
PCT/EP2008/056288 WO2009092455A2 (en) 2008-01-21 2008-05-21 Prediction-based image processing

Publications (2)

Publication Number Publication Date
CN101919254A CN101919254A (zh) 2010-12-15
CN101919254B true CN101919254B (zh) 2013-01-23

Family

ID=40551507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801249758A Expired - Fee Related CN101919254B (zh) 2008-01-21 2008-05-21 基于预测的图像处理

Country Status (6)

Country Link
US (1) US8824790B2 (zh)
EP (2) EP2235953B1 (zh)
JP (1) JP5214742B2 (zh)
CN (1) CN101919254B (zh)
AT (1) ATE524927T1 (zh)
WO (1) WO2009092455A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
KR101874272B1 (ko) 2010-04-13 2018-07-03 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
KR102388012B1 (ko) 2010-04-13 2022-04-18 지이 비디오 컴프레션, 엘엘씨 샘플 배열 멀티트리 세부분할에서 계승
BR122020007669B1 (pt) 2010-04-13 2022-07-12 Ge Video Compression, Llc Codificação de uma amostragem espacial de um sinal de informação bidimensional usando subdivisão
PL2559246T3 (pl) 2010-04-13 2017-02-28 Ge Video Compression Llc Łączenie obszarów próbek
WO2012146320A1 (en) * 2011-04-29 2012-11-01 Telefonaktiebolaget L M Ericsson (Publ) Encoder, decoder and methods thereof for texture compression
TW201314630A (zh) * 2011-09-19 2013-04-01 Tritan Technology Inc 一種可動態決定像素量化臨界值的影像均化編碼與解碼方法
CN103024371B (zh) * 2011-09-27 2015-09-02 硕呈科技股份有限公司 可动态决定像素量化临界值的影像均化编码与解码方法
CN104718759B (zh) * 2012-01-24 2019-01-18 华为技术有限公司 Lm模式的简化
US9420302B2 (en) * 2012-01-24 2016-08-16 Dolby Laboratories Licensing Corporation Weighted multi-band cross color channel predictor
CN104412512B (zh) 2012-06-21 2017-05-24 三菱电机株式会社 编码装置、解码装置、编码方法以及解码方法
JP2014192702A (ja) * 2013-03-27 2014-10-06 National Institute Of Information & Communication Technology 複数の入力画像をエンコーディングする方法、プログラムおよび装置
JP2014192701A (ja) * 2013-03-27 2014-10-06 National Institute Of Information & Communication Technology 複数の入力画像をエンコーディングする方法、プログラムおよび装置
KR101968236B1 (ko) * 2013-10-18 2019-08-20 지이 비디오 컴프레션, 엘엘씨 다-성분 화상 또는 비디오 코딩 개념
CN103561255B (zh) * 2013-10-24 2016-01-27 洪丹 一种裸眼立体显示方法
US9501864B2 (en) * 2013-12-27 2016-11-22 Intel Corporation Adaptive depth offset compression
US10057587B2 (en) * 2015-01-31 2018-08-21 Qualcomm Incorporated Coding escape pixels for palette mode coding
US9460365B1 (en) * 2015-03-24 2016-10-04 Intel Corporation Clustered palette compression
JP2017143355A (ja) * 2016-02-08 2017-08-17 キヤノン株式会社 画像符号化装置及び方法及び撮像装置
CN106898291B (zh) * 2017-04-28 2019-08-02 武汉华星光电技术有限公司 显示面板的驱动方法及驱动装置
DE102018122295A1 (de) * 2018-09-12 2020-03-12 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression von Bilddaten
CN113347437B (zh) * 2021-04-15 2022-09-06 浙江大华技术股份有限公司 一种基于串预测的编码方法、编码器、解码器和存储介质
CN116711307A (zh) * 2021-03-04 2023-09-05 Oppo广东移动通信有限公司 生成嵌入式图像数据的方法、图像传感器、电子设备和非暂态计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4141034A (en) * 1977-08-19 1979-02-20 Bell Telephone Laboratories, Incorporated Digital encoding of color video signals
CN101068352A (zh) * 2007-06-08 2007-11-07 中兴通讯股份有限公司 一种网络图像的压缩方法和***
CN101082992A (zh) * 2007-07-06 2007-12-05 浙江大学 实时高动态范围图像的绘制和显示方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625712A (en) * 1994-12-14 1997-04-29 Management Graphics, Inc. Iterative compression of digital images
EP0743794A3 (en) * 1995-05-16 1998-06-03 Canon Kabushiki Kaisha Image encoding apparatus and method
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
KR100510208B1 (ko) * 1996-12-18 2005-08-26 톰슨 콘슈머 일렉트로닉스, 인코포레이티드 다중 포맷의 비디오 신호 처리 시스템 및 신호 처리 방법
KR100355829B1 (ko) * 2000-12-13 2002-10-19 엘지전자 주식회사 영상의 공간적 유사성을 이용한 dpcm 영상 부호화 장치
JP4784810B2 (ja) * 2005-03-23 2011-10-05 富士ゼロックス株式会社 符号化装置及びプログラム
JP4427003B2 (ja) * 2005-05-23 2010-03-03 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
KR101330630B1 (ko) * 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
KR101200865B1 (ko) * 2006-03-23 2012-11-13 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US8331664B2 (en) * 2008-01-21 2012-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4141034A (en) * 1977-08-19 1979-02-20 Bell Telephone Laboratories, Incorporated Digital encoding of color video signals
CN101068352A (zh) * 2007-06-08 2007-11-07 中兴通讯股份有限公司 一种网络图像的压缩方法和***
CN101082992A (zh) * 2007-07-06 2007-12-05 浙江大学 实时高动态范围图像的绘制和显示方法

Also Published As

Publication number Publication date
CN101919254A (zh) 2010-12-15
EP2235953A2 (en) 2010-10-06
WO2009092455A3 (en) 2009-09-17
JP5214742B2 (ja) 2013-06-19
EP2232876A4 (en) 2011-12-07
EP2232876A1 (en) 2010-09-29
EP2235953B1 (en) 2011-09-14
US8824790B2 (en) 2014-09-02
US20130011059A1 (en) 2013-01-10
EP2232876B1 (en) 2018-12-12
WO2009092455A2 (en) 2009-07-30
ATE524927T1 (de) 2011-09-15
JP2011514024A (ja) 2011-04-28

Similar Documents

Publication Publication Date Title
CN101919254B (zh) 基于预测的图像处理
CN101925925B (zh) 基于预测的图像处理
CN101258526B (zh) 基于具有修改亮度的两个色调的纹理压缩
US8331664B2 (en) Prediction-based image processing
CN101233542B (zh) 基于权重的图像处理
CN101925926B (zh) 基于预测的图像处理
JP4805924B2 (ja) マルチモード画像処理のための方法、システム、及びシステムを具備するユーザ端末
CN100504926C (zh) 阿尔法图像处理
US8396309B2 (en) Index-based pixel block processing
US9292960B2 (en) Random accessible lossless parameter data compression for tile based 3D computer graphics systems
CN104378644A (zh) 定宽度变长度像素样值串匹配增强的图像压缩方法和装置
KR20160124190A (ko) 영상 부호화, 복호화 방법 및 장치
KR20060103454A (ko) 멀티모드 알파 이미지 처리
JP6035026B2 (ja) 画像符号化方法
CN103024393B (zh) 一种针对单张图像的压缩和解压方法
US8515187B2 (en) Method, compressor, decompressor and signal representation for lossless compression of pixel block values using row and column slope codewords
CN115102934A (zh) 点云数据的解码方法、编码方法、装置、设备及存储介质
Shportko et al. Programming the Formation of Difference Color Models for Lossless Image Compression.
CN116057575A (zh) 父子集群压缩
Şchiopu et al. Depth image lossless compression using mixtures of local predictors inside variability constrained regions
CN100573587C (zh) 多模式图像处理方法和***
Lui et al. An adaptive palette reordering method for compressing color-indexed image

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

Granted publication date: 20130123

Termination date: 20200521