CN101729901A - 用于图像压缩的系统和方法 - Google Patents

用于图像压缩的系统和方法 Download PDF

Info

Publication number
CN101729901A
CN101729901A CN200910179079A CN200910179079A CN101729901A CN 101729901 A CN101729901 A CN 101729901A CN 200910179079 A CN200910179079 A CN 200910179079A CN 200910179079 A CN200910179079 A CN 200910179079A CN 101729901 A CN101729901 A CN 101729901A
Authority
CN
China
Prior art keywords
code book
code
color vector
received
word
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.)
Pending
Application number
CN200910179079A
Other languages
English (en)
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.)
JINGMEN SCIENCE AND TECHNOLOGY Co Ltd
Solomon Systech Ltd
Original Assignee
JINGMEN SCIENCE AND TECHNOLOGY Co Ltd
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 JINGMEN SCIENCE AND TECHNOLOGY Co Ltd filed Critical JINGMEN SCIENCE AND TECHNOLOGY Co Ltd
Publication of CN101729901A publication Critical patent/CN101729901A/zh
Pending legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明涉及用于图像压缩的系统和方法。提供了将图像数据压缩成代码序列的方法,所述图像数据由多个输入色彩矢量代表。所述方法包括按下列步骤:一次对一个色彩矢量进行重复处理;接收一个输入色彩矢量;将所接收的输入色彩矢量与代码本中的代码本字进行比较,所述代码本字被表示为色彩矢量;基于所述比较,压缩所接收的输入色彩矢量,以产生代码;使用色彩矢量更新代码本,所述色彩矢量是通过对所述代码进行解码产生的;以及在接收下一个输入色彩矢量之前输出所述代码;其中的更新可包括基于所述比较重新排列代码本字的顺序。

Description

用于图像压缩的系统和方法
技术领域
总体而言,本发明涉及图像压缩方法和系统。
背景技术
用于高效的图像数据存储和通信的图像压缩在诸如多媒体系统、高清电视(HDTV)、远程会议系统和图像数据库管理系统等的数字成像系统中具有重要作用。当前,可基于不同的标准实现图像压缩,所述标准诸如Lempel-Ziv-Welch(LZW)/Graphics-Interchange-Format(GIF)标准、lossless Joint Photographic Experts Group(JPEG-LS)标准、JPEG标准和JPEG2000标准。
在许多应用中,在存储或传送之前减小图像数据的数据量是至关重要的。例如,移动显示驱动器是用于显示图像数据的一种应用。显示驱动器包括非存储显示驱动器和存储显示驱动器。对于非存储显示驱动器,图像数据被直接传送到显示面板并显示在面板上。无须在内部存储图像数据。而对于存储显示驱动器,图像被存储在驱动器内部的显示存储器中,驱动器将逐行扫描显示存储器以显示所述图像数据。相对较大容量的显示存储器会提高显示驱动器的制造成本,而这是人们不希望的。
图像压缩方法可用于通过减小图像数据的数据量来减小所需显示存储器的容量。如果由于用于实现图像压缩方法的附加硬件(例如逻辑门)所造成的成本增加与由于减小显示存储器的大小而节省的成本相比相对较小,那么通过使用所述图像压缩方法,制造显示驱动器的总成本将会降低。
图像压缩方法包括无损压缩方法(其解压后图像的内容与原始图像的内容完全相同)和近无损压缩方法(其解压后的图像与原始图像的差别在视觉上是检测不到的)。此外,还有一些有损压缩方法,它们的目的在于高的压缩比,但是具有可见的图像质量降低。对于显示驱动器应用而言,可见的图像质量降低是不可接受的,所以在显示领域不考虑有损压缩方法。
对于无损压缩方法,国际标准的最近成果以JPEG-LS标准为代表。所提出的用于JPEG-LS标准的方法包括基于例如运行长度编码、非线性预测、基于上下文的统计模型化和熵编码等的图像压缩技术。通过JPEG-LS标准获得的压缩比通常取决于图像数据的具体内容。例如,当原始图像数据是不相关数据时,压缩后图像数据的数据量可能会大于原始图像数据的数据量。为克服这一弱点,在JPEG-LS标准中引入了近无损压缩选项。然而,即使具有这一选项,JPEG-LS标准也不可能保证对所有图像均具有固定的压缩比。
所述近无损压缩方法典型地适用于显示驱动器。这是因为,一方面,近无损压缩方法有可能实现固定的压缩比,另一方面,基于近无损压缩方法由原始图像压缩而成的图像与原始图像在视觉上通常是难以区分的。近无损压缩方法一般涉及应用于图像数据的量化。在量化中,高精度的图像描述被转换成低精度的图像描述,这通常是通过“多对一”映射来实现。量化方法包括标量量化(SQ)方法和矢量量化(VQ)方法。在标量量化中,每个输入图像数据流被单独处理以产生输出。在矢量量化中,多于一个输入图像数据流被集合在一起(称作矢量)并被处理以产生输出。
通常,矢量量化是基于块的方法,其基于代码本将每个图像像素块映射到相应的索引(index)。与传送图像块相比,传送所述索引将传送较少数量的比特。基于块的方法可使用变换技术,诸如离散余弦变换(DCT)和离散小波变换(DWT)。
然而,基于块的方法,诸如JPEG标准和JPEG2000标准,需要额外数量的用于图像数据压缩处理的行存储器,以及大量具有高复杂性的用于硬件实现的逻辑门。由于硬件实现的模具(die)大小和功耗而造成的成本增加通常高于由于减小显示存储器而节省的成本。
发明内容
根据本发明,提供一种将图像数据压缩成代码序列的方法,所述图像数据由多个输入色彩矢量代表,所述方法包括按下列步骤一次对一个色彩矢量进行的重复处理:接收一个输入色彩矢量;将所接收的输入色彩矢量与代码本中的代码本字进行比较,所述代码本字被表示为色彩矢量;基于所述比较,压缩所接收的输入色彩矢量以产生代码;使用通过对所述代码进行解码而产生的色彩矢量更新代码本;以及在接收下一个输入色彩矢量之前输出所述代码;其中,所述更新可包括根据所述比较来重新排列代码本字的顺序。
根据本发明,还提供一种将代码序列解压成图像数据的方法,所述代码序列的每个代码代表代码本指针、色彩矢量之间的差或色彩矢量,该方法包括按下列步骤一次对一个代码进行的重复处理:接收一个代码;根据所接收的代码中的头信息确定所接收的代码代表的是代码本指针、还是色彩矢量之间的差、还是色彩矢量;基于所述确定和代码本中的代码本字,对所接收的代码进行解码以产生色彩矢量;基于所产生的色彩矢量更新代码本;以及在接收下一个代码之前输出所产生的色彩矢量;其中,所述更新可包括根据所述确定重新排列代码本字的顺序。
此外,根据本发明,提供一种将图像数据压缩成代码序列的装置,所述图像数据由多个输入色彩矢量代表,所述装置包括:代码本,被配置成存储表示为色彩矢量的多个代码本字;编码器,被配置成接收一个输入色彩矢量,将所接收的输入色彩矢量与代码本字进行比较,并根据所述比较,压缩所接收的输入色彩矢量以产生代码;代码本控制器,被配置成根据所述代码更新代码本;其中所述编码器对代码本和代码本控制器进行协调,使得一次处理一个输入色彩矢量。
此外,根据本发明,提供一种将代码序列解压成图像数据的装置,所述代码序列的每个代码代表代码本指针、色彩矢量之间的差或色彩矢量,所述装置包括:代码本,被配置成存储表示为色彩矢量的多个代码本字;解码器,被配置成接收一个代码,确定所接收的代码代表的是代码本指针、还是色彩矢量之间的差、还是色彩矢量,基于所述确定和代码本中的代码本字,对所接收的代码进行解码以产生色彩矢量;以及代码本控制器,被配置成基于所产生的色彩矢量更新该代码本;其中,所述解码器协调代码本和代码本控制器,使得一次处理代码序列的一个代码。
根据本发明,还提供一种计算机可读介质,其包括可由图像处理系统中的处理器执行的、用于实现将图像数据压缩成代码序列的方法的指令,所述图像数据由多个输入色彩矢量代表,所述方法包括:接收一个输入色彩矢量;将所接收的输入色彩矢量与代码本中的代码本字进行比较,所述代码本字被表示为色彩矢量;基于所述比较,压缩所接收的输入色彩矢量以产生代码;以及使用色彩矢量更新代码本,所述色彩矢量是通过对所述代码进行解码而产生的;以及输出该代码作为被压缩的图像数据;其中,所述更新可包括根据所述比较重新排列代码本字的顺序。
根据本发明,还提供一种计算机可读介质,其包括可由图像处理系统中的处理器执行的、用于实现将代码序列解压成图像数据的方法的指令,所述代码序列的每个代码代表代码本指针、色彩矢量之间的差或色彩矢量,所述方法包括:接收一个代码;基于所接收的代码中的头信息确定所接收的代码代表的是代码本指针、还是色彩矢量之间的差、还是色彩矢量;基于所述确定和代码本中的代码本字,对所接收的代码进行解码以产生色彩矢量;基于所产生的色彩矢量更新代码本;以及输出所产生的色彩矢量作为解压后的图像数据;其中,所述更新可包括根据所述确定重新排列代码本字的顺序。
应该理解,上文中的一般描述和下文中的详细描述都只是示例性和解释性的,不是对如权利要求提出的本发明的限制。
附图说明
所包括的附图构成本说明的一部分,用以示出本发明的实施例,且与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例的图像数据编码/解码(压缩/解压)装置的框图。
图2是根据一示例性实施例的CODEC对原始图像数据进行编码的流程图。
图3是根据一示例性实施例的CODEC对压缩图像数据进行解码的流程图。
图4显示根据一示例性实施例的更新代码本的方法。
具体实施方式
以下将详细参考在附图中示出其例子的示例性实施例。以下参考附图进行说明,在所述不同的附图中,相同的数字代表相同或相似的元件,除非另有指出。在下文的描述中提出的根据本发明实施例的实现不代表根据本发明的所有实现。相反,它们仅是根据所附权利要求中引述的本发明相关方面的系统和方法的举例。
图1显示根据一示例性实施例的图像数据编码/解码(压缩/解压)装置100的框图,这里将该装置称作CODEC 100。CODEC 100可包括编码器102、解码器104、第一和第二代码本控制器106和108、以及第一和第二代码本112和114。
在根据本发明的示例性实施例中,CODEC 100可使用矢量量化方法来实现高匹配率的小型的代码本。CODEC 100在编码和解码过程中同步地更新代码本112和114,下文中将对此进行详细描述。
此外,CODEC 100从图1中所示的第一和第二比率控制单元115和117中的每一个接收当前量化等级(Q-level)。第一和第二比率控制单元115和117是相同的,其每一个根据历史压缩比计算当前的Q-level。另一方面,CODEC 100可与任何类型的比率控制单元一起工作。
在根据本发明的示例性实施例中,CODEC 100在输入端103接收可由多个输入色彩矢量代表的原始图像数据。CODEC 100对所述多个输入色彩矢量进行压缩以产生多个代码(诸如前缀码序列)作为编码图像数据,并将所述编码图像数据存储在图1中所示的显示存储器113中。CODEC 100进一步从显示存储器113取得编码图像数据(即前缀码)并对所述编码图像数据进行解码以在输出端105产生由多个输出色彩矢量代表的恢复的图像数据。
在根据本发明的实施例中,多个输入和输出色彩矢量中的每一个可根据色彩标准按色彩格式被定义,所述色彩格式诸如(Y,U,V)色彩格式、(R,G,B)色彩格式、(H,S,V)色彩格式等。CODEC 100可将原始色彩格式的多个输入色彩矢量转换成预定色彩格式的色彩矢量。然后,CODEC 100可对所述预定色彩格式的色彩矢量进行编码以产生编码图像数据。
CODEC 100还可从显示存储器113取得编码图像数据并将所述编码图像数据解码成所述预定色彩格式的色彩矢量。CODEC 100进一步将所述预定色彩格式的解码后的色彩矢量转换成原始色彩格式的色彩矢量。例如,预定色彩格式可以是(Cr,L,Cb)色彩格式,其中L是亮度信号,而Cr和Cb是色差信号。还例如,所述色差信号Cr和Cb的分辨率可低于亮度信号L的分辨率。
在一示例性实施例中,原始图像数据包括红、绿、蓝数据流,它们可由(R,G,B)色彩格式的多个输入色彩矢量代表。CODEC 100可将所述多个输入色彩矢量的每一个转换成(Cr,L,Cb)色彩格式的色彩矢量用于编码和解码。结果,CODEC 100独自足以进行编码和解码,代替了3个单独的每个用于红、绿、蓝数据流中之一的编码/解码单元。
参考图1,编码器102接收(R,G,B)色彩格式的多个输入色彩矢量中的第i个矢量,并将该第i个色彩矢量转换成预定色彩格式(如(Cr,L,Cb)色彩格式)的色彩矢量。然后,编码器102基于代码本112和从第一比率控制单元115接收的当前Q-level,对转换后的色彩矢量进行编码,以产生代码(例如前缀码)作为对应于所述第i个色彩矢量的编码图像数据。
在一示例性实施例中,编码器102可基于分别对应于代码本指针、相对数据和绝对数据的第一类、第二类和第三类数据中之一,产生所述前缀码。代码本指针指示在代码本112或114中的位置,其比特数通常较小。相对数据代表两个色彩矢量之间的值,即绝对矢量差,通常其比特数大于代码本指针的比特数。绝对数据代表色彩矢量的值,通常其比特数大于相对数据的比特数。所以,使用代码本指针产生所述前缀码要比使用相对数据或绝对数据有利。类似地,使用相对数据产生所述前缀码要比使用绝对数据有利。
编码器102进一步向第一代码本控制器106和显示存储器113输出所述前缀码。第一代码本控制器106根据所述前缀码来更新代码本112,下文中将对此进行更详细的描述。
解码器104可从显示存储器113取得该前缀码,即对应于第i个色彩的编码图像数据。解码器104根据前缀码协议对所取得的前缀码进行解码,并根据代码本114和从第二比率控制单元117接收的当前Q-level,产生(Cr,L,Cb)色彩格式的色彩矢量。解码器104进一步将所产生的(Cr,L,Cb)色彩格式的色彩矢量转换成(R,G,B)色彩格式的色彩矢量,即所述多个输出色彩矢量中的第i个矢量。此外,第二代码本控制器108更新代码本114,下文中将对此进行更详细的描述。
图2显示根据一示例性实施例的CODEC100(图1)对代表原始图像数据的多个输入色彩矢量进行编码的流程图。为便于图示,在图2中没有显示编码器102和第一比率控制单元115之间的相互作用。
参考图1和图2,编码器102接收(R,G,B)色彩格式的多个输入色彩矢量中的第i个矢量(步骤202),并将所述第i个输入色彩矢量转换成预定色彩格式(如(Cr,L,Cb)色彩格式)的色彩矢量(步骤204)。然后,编码器102将转换后的色彩矢量与存储在代码本112中的代码本字进行比较,以在容差范围内确定在转换后的色彩矢量和任一个代码本字之间是否存在匹配(步骤206)。例如,如果转换后的色彩矢量和任一个代码本字之间的差小于预定的阈值,则编码器102可确定存在匹配。还例如,如果确定有多个代码本字满足该匹配,则编码器102可选择所述多个代码本字中的一个,所选择的代码本字和转换后的色彩矢量具有最小的绝对矢量差。
如果编码器102确定转换后的色彩矢量和代码本字之一匹配,则编码器102向显示存储器113输出代表代码本指针的前缀码,所述代码本指针指示所述代码本字之一在代码本112中的位置(步骤208)。
如果编码器102没有确定匹配,则编码器102计算所述转换后矢量的值与代码本112的第一条目中的代码本字之差。编码器102进一步检验该差值是否落入能使用相对数据描述的范围(步骤210)。
如果编码器102确定该差值没有落入所述范围,则编码器102输出代表所述转换后矢量的值的前缀码,即绝对数据(步骤212)。如果编码器102确定该差值落入所述范围,则编码器102输出代表该差值的前缀码,即相对数据(步骤214)。然后,第一代码本控制器106更新代码本112(步骤216),下文中将对此进行更详细的描述。编码器102进一步确定该第i个输入色彩矢量是否是所述多个输入矢量中的最后一个(步骤218)。如果不是,则重复步骤202-218。
图3是根据一示例性实施例的CODEC 100(图1)对编码图像数据进行解码的方法的流程图300。为便于图示,在图3中没有显示解码器104和第二比率控制单元117之间的相互作用。
参考图1和图3,解码器104从显示存储器113取得前缀码,例如与第i个输入色彩矢量对应的前缀码(步骤302)。解码器104根据所取得的前缀码中的头信息,确定所取得的前缀码是代表代码本指针,还是代表色彩矢量之间的差值(相对数据),还是代表色彩矢量(绝对数据)(步骤304)。
如果所取得的前缀码代表代码本指针,则解码器104读出代码本114中的一个由代码本指针指示的代码本字(步骤306)。由于代码本112和代码本114之间的同步性,所读出的代码本字是对应于第i个输入色彩矢量的解码后色彩矢量。
如果所取得的前缀码(步骤304)代表色彩矢量之间的差值,则解码器104根据该差值和在代码本114的第一条目中的代码本字计算色彩矢量(步骤308)。所计算出的色彩矢量是对应于第i个输入色彩矢量的解码后色彩矢量。
如果所取得的前缀码(步骤304)代表色彩矢量,则解码器104直接对该前缀码进行解码以产生对应于第i个输入色彩矢量的解码后色彩矢量(步骤310)。在每种情况下,所述解码后色彩矢量均具有预定的色彩格式,如(Cr,L,Cb)色彩格式。
然后,第二代码本控制器108更新代码本114(步骤312)。解码器104进一步将所述解码后色彩矢量从预定的色彩格式转换成原始色彩格式,即(R,G,B)色彩格式,以产生第i个输出色彩矢量(步骤314)。解码器104还确定该对应于第i个输入色彩矢量的前缀码是否是从显示存储器113中取得的最后一个前缀码(步骤316)。如果不是,则重复步骤302-316。
图4显示根据一示例性实施例的更新CODEC 100(图1)中的代码本112或114的方法。参考图1和图4,在编码和解码过程中,代码本112和114被同步更新。
在编码器这一侧,代码本112在初始阶段被设置为空(步骤402)。例如,在代码本112中的每个条目D(1)至D(N)可被设置成具有代码本字(0,0,0)。当编码器102接收到代表原始图像数据的多个输入色彩矢量中的第一个矢量时,编码器102将该第一个色彩矢量转换成具有预定色彩格式(如(Cr,L,Cb)色彩格式)的色彩矢量V(0)。例如,色彩矢量V(0)可具有值(110,50,90)。
编码器102将矢量V(0)与代码本112的条目D(1)至D(N)中的代码本字进行比较。在所示实施例中,条目D(1)至D(N)中的每一个在初始阶段具有代码本字(0,0,0)。所以在色彩矢量V(0)和任何代码本字之间不可能有匹配。编码器102进一步计算色彩矢量V(0)的值和在第一条目D(1)中的代码本字之间的差值。编码器102确定该差值比较大,由此向显示存储器113和代码本控制器106输出代表该色彩矢量V(0)的第一前缀码,即绝对数据。
代码本控制器106接收该第一前缀码,并产生对应于色彩矢量V(0)的恢复的色彩矢量V(0)*。实际上,色彩矢量V(0)*的值通常接近于色彩矢量V(0)的值,但可能不是严格地等于色彩矢量V(0)的值。代码本控制器106进一步将所述恢复的色彩矢量V(0)*作为代码本字移入代码本112的第一条目D(1)中(步骤402)。
当编码器102接收到所述多个输入色彩矢量中的第二个矢量时,编码器102将所述第二输入色彩矢量转换成具有预定格式(如(Cr,L,Cb)色彩格式)的色彩矢量V(1)。例如,色彩矢量V(1)可具有值(105,56,94)。
编码器102进一步将色彩矢量V(1)与代码本112的条目D(1)至D(N)中的代码本字进行比较。当前,只有第一条目D(1)具有非零代码本字,即色彩矢量V(0)*。在所示实施例中,编码器102确定在色彩矢量V(1)和色彩矢量V(0)*之间不存在匹配。
编码器102进一步计算色彩矢量V(1)的值和色彩矢量V(0)*的值之间的差值,并确定所计算出的差值可使用相对数据来描述。由此,编码器102向显示存储器113和代码本控制器106输出代表所计算出的差值的第二前缀码。
代码本控制器106根据所述第二前缀码和在代码本112的第一条目D(1)中的代码本字,即色彩矢量V(0)*,产生对应于色彩矢量V(1)的恢复的色彩矢量V(1)*。同样,实际上,色彩矢量V(1)*的值通常接近于色彩矢量V(1)的值,但可能不是严格地等于色彩矢量V(1)的值。代码本控制器106进一步将色彩矢量V(0)*从第一条目D(1)移动到第二条目D(2),并将恢复的色彩矢量V(1)*作为代码本字移入第一条目D(1)中(步骤406)。
当编码器102接收到所述多个输入色彩矢量中的第三个矢量时,编码器102将该第三个色彩矢量转换成具有预定格式(如(Cr,L,Cb)色彩格式)的色彩矢量V(2)。例如,色彩矢量V(2)可具有值(112,49,88)。
编码器102进一步将色彩矢量V(2)与代码本112的条目D(1)至D(N)中的代码本字进行比较。当前,只有第一和第二条目D(1)和D(2)各自具有非零代码本字,即色彩矢量V(0)*和V(1)*。在所示实施例中,编码器102确定在色彩矢量V(2)和色彩矢量V(0)*之间存在匹配。由此,编码器102向显示存储器113和代码本控制器106输出代表代码本指针的第三前缀码,所述代码本指针指示色彩矢量V(0)*在代码本112中的当前位置。
代码本控制器106将该匹配的代码本字,即色彩矢量V(0)*移动到代码本112的第一条目D(1)中。此外,代码本控制器106执行对条目D(1)至D(N)中的在该匹配的代码本字所在的条目之前的任何条目中的代码本字的移位。例如,代码本控制器106将第二条目D(2)中的色彩矢量V(0)*移动到第一条目D(1),将色彩矢量V(1)*从第一条目D(1)移动到下一个条目D(2)(步骤408)。
与上文中基于多个输入色彩矢量中的第一、第二和第三矢量所进行的与代码本112有关的描述类似,代码本控制器106可基于所述多个输入色彩矢量中的后续矢量对代码本112进行更新。
再参考图4,在解码器这一侧,代码本114也在初始阶段被设置为空(步骤402)。例如,在代码本114中的每个条目D(1)至D(N)可被设置成具有代码本字(0,0,0)。解码器104从显示存储器113取得第一前缀码,解码器104根据该第一前缀码中的头信息,可确定该第一前缀码代表色彩矢量,即绝对数据。由此,解码器104直接对第一前缀码进行解码,以产生具有预定色彩格式(如(Cr,L,Cb)色彩格式)的色彩矢量V(0)*。代码本控制器108将色彩矢量V(0)*作为代码本字移入代码本114的第一条目D(1)中(步骤404)。
解码器104从显示存储器113取得第二前缀码,解码器104根据该第二前缀码中的头信息,可确定该第二前缀码代表色彩矢量之间的差值,即相对数据。由此,解码器104根据该差值和在代码本114的第一条目D(1)中的代码本字(即色彩矢量V(0)*)对该第二前缀码进行解码,以得到具有(Cr,L,Cb)色彩格式的色彩矢量V(1)*。代码本控制器108进一步将所得到的色彩矢量V(1)*作为代码本字移入第一条目D(1)并将色彩矢量V(0)*移动到第二条目D(2)(步骤406)。
解码器104从显示存储器113取得第三前缀码,基于在第三前缀码中的头信息,解码器104确定该第三前缀码代表代码本指针。由此,解码器104得到由该代码指针指示的代码本114中的代码本字,其为色彩矢量V(0)*
代码本控制器108进一步将该代码本指针指示的代码本字(即色彩矢量V(0)*)移动到第一条目D(1),并执行对条目D(1)至D(N)中的在由所述代码本指针指示的条目之前的任何条目中的代码本字的移位。例如,代码本控制器108将代码本字V(0)*移动到第一条目D(1),将代码本字V(1)*移动到下一个条目D(2)(步骤408)。
与上文中有关根据第一、第二和第三带前缀的代码更新代码本114的描述类似,代码本控制器108可根据从显示存储器113取得的后续前缀码,对代码本114进行更新。这样,代码本112和114被同步更新。
在根据本发明的示例性实施例中,当越来越多的代码本字被产生并被移入代码本112或114中时,代码本112或114最终可能被填满。当代码本112或114被代码本字填满时,可在将最后的条目D(N)中的代码本字移出代码本112或114的情况下,将新的代码本字移入到代码本112或114中。在代码本112或114的最后的条目D(N)中的代码本字通常是使用频率最低的。换言之,当新的代码本字被移入到代码本112或114中时,使用频率最低的代码本字被移出代码本112或114。在一个示例性实施例中,可通过实验来确定代码本112和114的容量。
在根据本发明的示例性实施例中,CODEC 100可使显示存储器的容量减小至少50%,其数据压缩比等于或高于2,同时保持图像质量基本上没有可察觉的质量下降。CODEC 100还可减小传送被CODEC 100压缩的图像数据的通信信道的带宽。此外,CODEC 100可被设计用于有效的硬件实现,使得CODEC 100的硬件开销可少于3万个逻辑门。此外,CODEC100只需要较低的功耗来进行编码和解码。通常,通过使用其容量减小50%的显示存储器而节省的功率大于CODEC 100所需的附加功耗。
例如,对于用于提供四分之一视频图像阵列(QVGA)图像分辨率的显示存储器,使用现有技术的方法和装置的显示存储器的容量会超过1百万比特。可通过在使用显示存储器的设备中利用根据本发明的实施例,实现净硬件和成本的减少。对于更高的图像分辨率,诸如VGA和SVGA,净硬件和成本的减少变得更加有利。
在根据本发明的实施例中,CODEC 100可实现对显示存储器的随机行存取,并允许图像数据逐行更新。此外,CODEC 100可针对连续色调图像(例如照片)和离散色调图像(例如计算机产生的用户界面图形)两者提供好的质量。
在根据本发明的实施例中还提供了计算机可读介质,其包括可由图像处理系统中的处理器执行的、用于实现上述压缩/解压图像数据的方法的指令。
对于考虑了这里公开的本发明的说明和实践的本领域技术人员而言,本发明的其他实施例是显然的。本申请欲覆盖遵循本发明一般原理而其差别在本领域已知或通行的实践范围内的本发明的任何变体、使用或修改。说明书及举例仅被认为是示例性的,而本发明的真正范围和精神由所附权利要求指出。
应该理解,本发明不限于上文描述的由附图显示的严格构成,而是可以不离开本发明的范围做出各种修改和改变。本发明的范围将只由所附权利要求限定。

Claims (30)

1.一种用于将图像数据压缩成代码序列的方法,所述图像数据由多个输入色彩矢量代表,所述方法包括按下列步骤一次对一个色彩矢量进行的重复处理:
接收一个输入色彩矢量;
将所接收的输入色彩矢量与代码本中的代码本字进行比较,所述代码本字被表示为色彩矢量;
根据所述比较,压缩所接收的输入色彩矢量,以产生代码;
使用色彩矢量更新所述代码本,所述色彩矢量是通过对所述代码进行解码而产生的;以及
在接收下一个输入色彩矢量之前输出所述代码;
其中,所述更新可包括基于所述比较重新排列所述代码本字的顺序。
2.权利要求1的方法,其中,所述接收进一步包括在所述比较之前将所接收的输入色彩矢量转换成预定的色彩格式。
3.权利要求2的方法,其中,所述预定色彩格式包括亮度信号以及第一和第二色差信号,所述第一和第二色差信号的分辨率低于所述亮度信号。
4.权利要求1的方法,其中
所述压缩包括:
识别所述代码本中的代码本字,所识别出的代码本字和所接收的输入色彩矢量具有最小绝对矢量差;
基于所述比较,在容差范围内确定所接收的输入色彩矢量和所识别出的代码本字之间的匹配;
获得代码本指针,所述代码本指针指示所识别出的代码本字在所述代码本中的位置;以及
对所述代码本指针进行编码以产生所述代码;以及
所述更新包括:
将所识别出的代码本字移入所述代码本的第一条目中;以及
将在所识别出的代码本字所在的条目之前的条目中的任一代码本字移到所述代码本的下一个条目中。
5.权利要求1的方法,其中
所述压缩包括:
计算所接收的输入色彩矢量和在所述代码本的第一条目中的代码本字之间的绝对矢量差;
基于所述比较,确定所述差在可由代码描述的范围内;以及
对所述差进行编码以产生所述代码;以及
所述更新包括:
基于所述代码产生色彩矢量以近似所接收的输入色彩矢量;
将代码本中的所有代码本字每一个都移动到所述代码本的下一个条目中;以及
将所产生的色彩矢量作为代码本字存储在所述代码本的第一条目中。
6.权利要求1的方法,其中
所述压缩包括基于所述比较直接对所接收的输入色彩矢量进行编码以产生所述代码;以及
所述更新包括:
基于所述代码产生色彩矢量以近似所接收的输入色彩矢量;
将所述代码本中的所有代码本字每一个都移动到所述代码本的下一个条目中;以及
将所产生的色彩矢量作为代码本字存储在所述代码本的第一条目中。
7.权利要求1的方法,其中,所述代码包括前缀码。
8.权利要求1的方法,其中,所述代码具有可变的长度。
9.权利要求1的方法,进一步包括从比率控制单元接收量化等级,其中,所述代码是基于所述量化等级产生的。
10.权利要求1的方法,进一步包括将所述代码存储到存储装置中,以减小所述存储装置的容量。
11.权利要求1的方法,进一步包括通过通信信道传送所述代码,以减小所述通信信道的带宽。
12.一种将代码序列解压成图像数据的方法,所述代码序列的每个代码代表代码本指针、色彩矢量之间的差或色彩矢量,所述方法包括按下列步骤一次对一个代码的重复处理:
接收一个代码;
基于所接收的代码中的头信息确定所接收的代码代表的是代码本指针、还是色彩矢量之间的差、还是色彩矢量;
基于所述确定和代码本中的代码本字,对所接收的代码进行解码以产生色彩矢量;
基于所产生的色彩矢量更新所述代码本;以及
在接收下一个代码之前输出所产生的色彩矢量;
其中,所述更新可包括基于所述确定重新排列所述代码本字的顺序。
13.权利要求12的方法,其中,所述解码包括:
如果确定所接收的代码代表代码本指针,则获得由所述代码本指针指示的所述代码本中的代码本字;
其中,所获得的代码本字是所产生的色彩矢量。
14.权利要求12的方法,其中,所述解码包括:
如果确定所接收的代码代表色彩矢量之间的差,则基于所述差和在所述代码本的第一条目中的代码本字,产生所述色彩矢量。
15.权利要求12的方法,其中,所述解码包括:
如果确定所接收的代码代表色彩矢量,则从所接收的代码直接产生所述色彩矢量。
16.权利要求12的方法,其中,所述更新包括:
将所述代码本中的至少一个代码本字移动到所述代码本的下一个条目中;以及
将所产生的色彩矢量作为代码本字存储到所述代码本的第一条目中。
17.一种将图像数据压缩成代码序列的装置,所述图像数据由多个输入色彩矢量代表,所述装置包括:
代码本,被配置成存储表示为色彩矢量的多个代码本字;
编码器,被配置成:接收一个输入色彩矢量,将所接收的输入色彩矢量与所述代码本字进行比较,以及基于所述比较,压缩所接收的输入色彩矢量以产生代码;以及
代码本控制器,被配置成基于所述代码更新所述代码本;
其中,所述编码器协调所述代码本和所述代码本控制器,使得一次处理一个所述输入色彩矢量。
18.权利要求17的装置,其中,所述编码器被进一步配置成将所接收的输入色彩矢量转换成预定的色彩格式。
19.权利要求17的装置,其中
所述编码器被进一步配置成:
识别所述代码本中的代码本字,所识别出的代码本字和所接收的输入色彩矢量具有最小绝对矢量差;
基于所述比较,在容差范围内确定所接收的输入色彩矢量和所识别出的代码本字之间的匹配;
获得代码本指针,所述代码本指针指示所识别出的代码本字在所述代码本中的位置;以及
对所述代码本指针进行编码以产生所述代码;以及
所述代码本控制器被配置成:
将所识别出的代码本字移入所述代码本的第一条目中;以及
将在所识别出的代码本字所在的条目之前的条目中的任一代码本字移到所述代码本的下一个条目中。
20.权利要求17中的装置,其中
所述编码器被进一步配置成:
计算所接收的输入色彩矢量和在所述代码本的第一条目中的代码本字之间的绝对矢量差;
确定所述差在可由代码描述的范围内;以及
对所述差进行编码以产生所述代码;以及
所述代码本控制器被配置成:
基于所述代码产生色彩矢量以近似所接收的输入色彩矢量;
将代码本中的所有代码本字每一个都移动到所述代码本的下一个条目中;以及
将所产生的色彩矢量作为代码本字存储到所述代码本的第一条目中。
21.权利要求17的装置,其中
所述编码器被配置成直接对所接收的输入色彩矢量进行编码以产生所述代码;以及
所述代码本控制器被配置成:
基于所述代码产生色彩矢量以近似所接收的输入色彩矢量;
将代码本中的所有代码本字每一个都移动到所述代码本的下一个条目中;以及
将所产生的色彩矢量作为代码本字存储到所述代码本的第一条目中。
22.权利要求17的装置,其中,所述代码包括前缀码。
23.权利要求17的装置,其中,所述代码具有可变的长度。
24.一种将代码序列解压成图像数据的装置,所述代码序列的每个代码代表代码本指针、色彩矢量之间的差或色彩矢量,所述装置包括:
代码本,被配置成存储表示为色彩矢量的多个代码本字;
解码器,被配置成:接收一个代码,确定所接收的代码代表的是代码本指针、还是色彩矢量之间的差、还是色彩矢量,以及基于所述确定和在代码本中的代码本字,对所接收的代码进行解码以产生色彩矢量;以及
代码本控制器,被配置成基于所产生的色彩矢量更新所述代码本;
其中,所述解码器协调所述代码本和所述代码本控制器,使得一次处理所述代码序列的一个代码。
25.权利要求24的装置,其中,所述解码器被进一步配置成:
如果确定所接收的代码代表代码本指针,则获得由所述代码本指针指示的代码本中的代码本字;
其中,所获得的代码本字是所产生的色彩矢量。
26.权利要求24的装置,其中,所述解码器被配置成:
如果确定所接收的代码代表色彩矢量之间的差,则基于所述差和在所述代码本的第一条目中的代码本字,产生所述色彩矢量。
27.权利要求24的装置,其中,所述解码器被配置成:
如果确定所接收的代码代表色彩矢量,则从所接收的代码直接产生所述色彩矢量。
28.权利要求24的装置,其中,所述代码本控制器被配置成:
将代码本中的至少一个代码本字移动到所述代码本的下一个条目中;以及
将所产生的色彩矢量作为代码本字存储到所述代码本的第一条目中。
29.一种计算机可读介质,包括可由图像处理系统中的处理器执行的、用以实现将图像数据压缩成代码序列的方法的指令,所述图像数据由多个输入色彩矢量代表,所述方法包括:
接收一个输入色彩矢量;
将所接收的输入色彩矢量与代码本中的代码本字进行比较,所述代码本字被表示为色彩矢量;
基于所述比较,压缩所接收的输入色彩矢量,以产生代码;以及
使用色彩矢量更新所述代码本,所述色彩矢量是通过对所述代码进行解码而产生的;以及
输出所述代码作为被压缩的图像数据;
其中,所述更新可包括基于所述比较重新排列所述代码本字的顺序。
30.一种计算机可读介质,包括可由图像处理系统中的处理器执行的、用以实现将代码序列解压成图像数据的方法的指令,所述代码序列的每个代码代表代码本指针、色彩矢量之间的差或色彩矢量,所述方法包括:
接收一个代码;
基于所接收的代码中的头信息确定所接收的代码代表的是代码本指针、还是色彩矢量之间的差、还是色彩矢量;
基于所述确定和代码本中的代码本字,对所接收的代码进行解码以产生色彩矢量;
基于所产生的色彩矢量更新所述代码本;以及
输出所产生的色彩矢量作为解压后的图像数据;
其中,所述更新可包括基于所述确定重新排列所述代码本字的顺序。
CN200910179079A 2008-10-24 2009-10-12 用于图像压缩的系统和方法 Pending CN101729901A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/257,788 2008-10-24
US12/257,788 US20100104207A1 (en) 2008-10-24 2008-10-24 System and method for image compression

Publications (1)

Publication Number Publication Date
CN101729901A true CN101729901A (zh) 2010-06-09

Family

ID=42117569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910179079A Pending CN101729901A (zh) 2008-10-24 2009-10-12 用于图像压缩的系统和方法

Country Status (2)

Country Link
US (2) US20100104207A1 (zh)
CN (1) CN101729901A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8878862B2 (en) * 2012-08-22 2014-11-04 2236008 Ontario Inc. Composition manager camera
US10362288B2 (en) * 2015-01-09 2019-07-23 Sony Corporation Method and system for improving detail information in digital images
US10355712B2 (en) * 2017-03-31 2019-07-16 Sandisk Technologies Llc Use of multiple codebooks for programming data in different memory areas of a storage device
CN110289932B (zh) * 2018-03-19 2022-07-05 中兴通讯股份有限公司 一种乱序深度值更新方法和装置
US11216505B2 (en) * 2019-09-05 2022-01-04 Adobe Inc. Multi-resolution color-based image search
US11887217B2 (en) 2020-10-26 2024-01-30 Adobe Inc. Text editing of digital images

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040108944A1 (en) * 2002-09-27 2004-06-10 Nam-Il Lee Fast search method for nearest neighbor vector quantization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748116B1 (en) * 2000-08-22 2004-06-08 Airzip, Inc. Apparatus and method for compressing and decompressing image files
US6898313B2 (en) * 2002-03-06 2005-05-24 Sharp Laboratories Of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
US7804901B2 (en) * 2005-01-06 2010-09-28 Qualcomm Incorporated Residual coding in compliance with a video standard using non-standardized vector quantization coder
US20090010326A1 (en) * 2007-07-05 2009-01-08 Andreas Rossholm Method and apparatus for parallel video decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040108944A1 (en) * 2002-09-27 2004-06-10 Nam-Il Lee Fast search method for nearest neighbor vector quantization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER CHAN 等: "LOSSY COMPRESSION OF INDIVIDULA SIGNALS BASED ON STRING MATCHING AND ONE PASS CODEBOOK DESIGN", 《IEEE》 *

Also Published As

Publication number Publication date
US20140010445A1 (en) 2014-01-09
US20100104207A1 (en) 2010-04-29

Similar Documents

Publication Publication Date Title
US6757438B2 (en) Method and apparatus for video compression using microwavelets
US5157488A (en) Adaptive quantization within the jpeg sequential mode
US6526174B1 (en) Method and apparatus for video compression using block and wavelet techniques
Wallace The JPEG still picture compression standard
KR102120571B1 (ko) 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
CN100576195C (zh) 以无损方式对数字图像和音频数据解码的系统和方法
CN103458242A (zh) 基于颜色分类与聚类的图像压缩和解压缩方法
CN101485206A (zh) 提供编码/压缩和解码/解压缩之间的计算复杂度的可调节分配的鲁棒且高效的压缩/解压缩
CN101729901A (zh) 用于图像压缩的系统和方法
CN100553151C (zh) 用于多种描述编码的设备和方法
CN1327713C (zh) 用于对视频数据流压缩和解压缩的方法和装置
KR20130089461A (ko) 영역별 특성에 기초한 영상 부호화 방법 및 그 장치, 그리고 영상 복호화 방법 및 그 장치
US11494946B2 (en) Data compression device and compression method configured to gradually adjust a quantization step size to obtain an optimal target quantization step size
EP1324618A2 (en) Encoding method and arrangement
EP2383700A1 (en) System and method for image compression
CN101406034B (zh) 使用限定符水印的压缩方案及使用该压缩方案在帧存储器中临时存储图像数据的装置
CN107205151B (zh) 基于混合失真度量准则的编解码装置及方法
US20090304073A1 (en) Systems and Methods for the Bandwidth Efficient Processing of Data
US20110243437A1 (en) System and method for image compression
US20050129110A1 (en) Coding and decoding method and device
US8249367B2 (en) Apparatus and method for encoding an image for a mobile telecommunication handset
CN114600166A (zh) 图像处理方法、图像处理装置和存储介质
US6125211A (en) Progressive image transmission
Bruna et al. Predictive differential modulation for CFA compression

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100609