CN102651815A - 每块使用固定数目比特的数字图像压缩方法 - Google Patents

每块使用固定数目比特的数字图像压缩方法 Download PDF

Info

Publication number
CN102651815A
CN102651815A CN2012100322538A CN201210032253A CN102651815A CN 102651815 A CN102651815 A CN 102651815A CN 2012100322538 A CN2012100322538 A CN 2012100322538A CN 201210032253 A CN201210032253 A CN 201210032253A CN 102651815 A CN102651815 A CN 102651815A
Authority
CN
China
Prior art keywords
bit
value
module
pixel
coding
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
CN2012100322538A
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN102651815A publication Critical patent/CN102651815A/zh
Pending legal-status Critical Current

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

描述了每块使用固定数目比特的数字图像压缩方法。帧内编码被用于数字图像的无损压缩。图像被分割为大小相同的块。编码器针对每个块生成固定的、预定数目的比特。编码处理包括应用于输入图像以生成数据的伽马转换。更多阶段包括预测、量化、DPCM、熵编码和细化。

Description

每块使用固定数目比特的数字图像压缩方法
技术领域
本发明涉及图像处理领域。更具体地,本发明涉及每块使用固定数目比特的图像压缩。
背景技术
传统图像压缩系统遭遇各种问题。它们不能够用于开发人类视觉系统(HVS)中的随着图像内容空间地变化的视觉掩蔽以及其他属性。原因之一是这些算法所使用的量化参数通常在图像范围上相对恒定。结果,图像不能被高效压缩。另外,为了利用这样的方法来实现目标比特率或视觉质量,图像必须经过多次压缩。
发明内容
描述了每块使用固定数目比特的数字图像压缩方法。帧内编码(Intra-coding)被用于数字图像的压缩。图像被分割为大小相同的块。编码器针对每个块生成固定的、预定数目的比特。编码处理包括应用于输入图像以生成数据的伽马(gamma)转换。附加阶段包括预测、量化、DPCM、熵编码和细化。
在一个方面中,一种被编程在设备中的控制器中的图像压缩方法包括以下步骤:将图像分割为一个或多个块,和编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的。该方法还包括应用伽马转换来生成10比特数据。该方法还包括利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。预测模式包括以下项中的至少一个:普通、DC、右上、右上上、上、左上上、左上、左左上以及左。该方法还包括应用量化。该方法还包括计算差分脉冲码调制来生成量化值的残差。该方法还包括实现熵编码来针对每个量化值的残差生成可变长度码。实现熵编码被分为两部分:码值/长度计算和比特流生成,但是具有单个细化阶段和单个比特流生成。该方法还包括实现细化。实现细化包括用于每个量化的独立细化阶段。实现细化包括单个细化阶段。该方法还包括计算脉冲码调制,该计算包括将每个像素值移位固定数目的比特。该方法还包括生成比特流。生成比特流包括选择差分脉冲码调制或脉冲码调制编码方法。控制器是从包括以下项的组中选出的:经过编程的计算机可读介质和专用电路。设备是从包括以下项的组中选出的:个人计算机、膝上型计算机、计算机工作站、服务器、大型机、手持计算机、个人数字助理、蜂窝/移动电话、智能家电、游戏手柄、数字相机、数字摄录机、相机电话、iPhone、
Figure BSA00000670143500021
视频播放器、DVD写入器/播放器、电视和家庭娱乐系统。
在另一方面中,一种被编程在设备中的控制器中的图像压缩系统包括:分割模块,用于将图像分割为一个或多个块,和编码模块,用于编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的。该系统包括计算模块,用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。预测模式包括以下项中的至少一个:普通、DC、右上、右上上、上、左上上、左上、左左上以及左。
在又一方面中,一种被编程在设备中的控制器中的图像压缩系统包括:伽马模块,用于应用伽马转换来生成10比特数据;预测模块,用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值;量化模块,用于应用量化;DPCM模块,用于计算差分脉冲码调制来生成量化值的残差;细化模块,用于实现细化;PCM模块,用于计算脉冲码调制,该计算包括将每个像素值移位固定数目的比特;以及比特流模块,用于生成比特流,其中生成所述比特流包括选择差分脉冲码调制或脉冲码调制编码方法。预测模式包括以下项中的至少一个:普通、DC、右上、右上上、上、左上上、左上、左左上以及左。控制器是从包括以下项的组中选出的:经过编程的计算机可读介质和专用电路。设备是从包括以下项的组中选出的:个人计算机、膝上型计算机、计算机工作站、服务器、大型机、手持计算机、个人数字助理、蜂窝/移动电话、智能家电、游戏手柄、数字相机、数字摄录机、相机电话、iPhone、
Figure BSA00000670143500031
视频播放器、DVD写入器/播放器、电视和家庭娱乐系统。
在又一方面中,一种相机设备包括:用于获取视频的视频获取组件;用于存储应用的存储器,该应用用于:将图像分割为一个或多个块;和编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的;以及耦接到所述存储器的处理器组件,该处理器组件被配置为处理所述应用。所述应用还用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。预测模式包括以下项中的至少一个:普通、DC、右上、右上上、上、左上上、左上、左左上以及左。
附图说明
图1图示出根据一些实施例的与图像中不同的可能方向相关联的7种可能的预测模式。
图2图示出根据一些实施例的示例性VLC计算。
图3图示出根据一些实施例的示例性熵编码表。
图4图示出根据一些实施例的将剩余比特用于细化的示例。
图5图示出根据一些实施例的基于DPCM的编码和重建值的示例。
图6图示出根据一些实施例的编码器和解码器。
图7图示出根据一些实施例的在e=0、1、2、3、4和5的情况下的桶(bin)及其重建值。
图8图示出根据一些实施例的用于DPCM模式的比特流结构。
图9图示出根据一些实施例的在块宽度等于16并且bps为4的情况下的针对PCM方法的比特发送顺序。
图10图示出根据一些实施例的针对PCM方法的块的重建。
图11图示出根据一些实施例的用于PCM模式的比特流结构。
图12图示出根据一些实施例的具有多个细化阶段的编码器结构。
图13图示出根据一些实施例的具有单个细化阶段的编码器结构。
图14图示出根据一些实施例的具有被划分为两部分的熵编码的编码器,这两部分是:码值/长度计算和比特流生成。
图15图示出根据一些实施例的使码值和长度计算与比特流生成分离然而具有单个细化阶段和单个比特流生成的编码器。
图16图示出根据一些实施例的每块使用固定数目比特的压缩方法的流程图。
图17图示出根据一些实施例的被配置为实现每块使用固定数目比特的图像压缩方法的示例性计算设备的框图。
具体实施方式
这里描述帧内编码数字图像的方法。对于帧内编码,图像被分割为垂直的条带。每个垂直条带中的每行被分割为称作块的小的行片段。每个条带是无需关于任何其他条带的信息就可解码的。在一些实施例中,所有的块具有相同的大小。编码器针对每个块生成固定的、预定数目的比特。如果以硬件实现,编解码器在实现方式所需的门电路数目方面具有十分低的复杂度。编解码器能够针对某些比特率并且针对某些应用提供视觉上的无损压缩。
在某些实施例中,编码处理的第一阶段是伽马转换。例如,编解码器使用10比特的伽马转换。伽马转换被应用于输入图像像素以生成10比特数据。伽马转换的输出被称作“原始像素值”。值10是一示例,并且其他值也是可能的。
在某些实施例中,编码和/或解码的各方面在2010年5月27日递交的题为“AN IMAGE COMPRESSION METHOD WITH RANDOM ACCESSCAPABILITY”的美国专利申请No.12/789,091中被进一步详细描述,该美国专利申请的全部内容通过引用被结合于此。
基于差分脉冲码调制(DPCM)的方法和预测
在一些实施例中,编码器应用预测,然后是量化,然后是像素式DPCM,然后是熵编码和之后的细化。编码器首先针对当前块中的所有像素计算“预测”值。任何预测方法都是可行的,例如,使用当前像素左侧的最接近的相同颜色像素的重建值。在一些实施例中,在编解码器中使用若干种(例如9种)预测方法(或模式)。每种预测模式具有指派的名称和编号。在一示例中,九种预测模式是普通、DC、右上、右上上、上、左上上、左上、左左上和左。
针对每个块,编码器选择上述预测模式中的一种,并且那个预测模式被用于预测当前块中的像素的量化值。编码器使用当前块中像素值的原始值以及任何先前重建了的块的重建像素值来选择预测模式。编码器针对预测模式中的每一种来计算预测。针对每种预测模式计算出的预测被表示。如果当前块中所有像素的像素值都已被表示,则针对每种表示出的预测模式,编码器计算:当前块中所有像素的SAD(predNum)=abs(Pred(PredNum)的和>>(depth-predSelDepth)-B>>(depth-predSelDepth))。这里,B包括当前块中像素的像素值,并且predSelDepth是编码器的输入参数。这产生每种预测模式的SAD值。编码器选择SAD值最小的预测模式。如果不止一种预测模式产生了最小SAD值(例如,存在平局),则任何打破平局的规则可被使用,包括选择更接近predNumList的开头的预测模式的规则,这里predNumList是在编码器处被允许使用的预测模式的列表。用“predNumBest”表示的所选出预测模式和用“Pred(predNumBest)”表示的相应预测然后被用于剩余的编码块的处理中。编码器然后将Pred(predNumBest)用于编码的下一阶段。在基于DPCM的方法中,利用比特流中的一个或多个比特将Pred(predNumBest)通知给解码器。
基于DPCM的方法中的量化
编码的下一阶段是量化因子为qf=2qn的量化,其中qn被称作量化数(quantization number)。编码器针对在qnList(qn列表)中列出的每个并且所有qn值应用量化数为qn的量化。然后,针对每个qn值,编码器应用量化之后的所有阶段。针对量化,编码器均匀地量化B中的所有像素以及Pred(predNumBest)中的所有值。通过量化数qn的值x的量化是计算x>>qn。如果x具有比特深度“depth”,则量化后的x具有比特深度qDepth=depth-qn。
DPCM计算
然后,针对当前块中的所有像素,编码器计算在量化后的原始值和量化后的预测值之间的差:
Resq=(B>>qn)-(Pred(predNumBest)>>qn)
这称作DPCM阶段。差Resq称作B的量化值的残差。Resq可以是负数、零或者正数。
熵编码和编码准确度
Resq被用作熵编码器的输入。熵编码器针对每个量化值的残差生成可变长度码(VLC)。VLC是其中所生成比特的数目和比特自身都取决于量化值的残差的值的比特序列。针对任意两个量化值的残差a和b,如果abs(a)>abs(b),则针对a生成的VLC的长度大于或等于针对b生成的VLC的长度。解码器能够使用由熵编码器生成的VLC码来无损地重建Resq值。解码器还能够无损地重建(Pred(predNumBest)>>qn)。在具有了Resq和(Pred(predNumBest)>>qn)二者后,解码器然后能够无损地重建B>>qn。这意味着B中像素的qDepth个最高有效比特能够被无损地编码和解码。在编码器处,DPCM阶段以qDepth个比特的“准确度”来编码原始像素值。
基于DPCM的方法中的细化
针对qnList中的每个qn值,早先提及的运算被针对块中的所有像素执行,然后针对整个块生成的总比特数目被测量。然后,存在可能发生的三种可能性。
1、针对整个块生成的比特数目大于针对当前块所分配的比特预算,或者针对块中至少一个像素生成的比特数目大于codeLengthLimit(码长度限制),那么,具有qn的当前值的DPCM不被允许。
2、针对整个块生成的比特数目与针对当前块的比特预算相同,那么,具有qn的当前值的DPCM被允许。
3、针对整个块生成的比特数目小于针对当前块所分配的比特预算,那么,具有qn的当前值的DPCM被允许。然而,更多比特然后将在称作“细化”的处理中被生成。细化阶段能够用尽剩余的允许比特。如果并不是所有的剩余比特都被使用了,那么所允许比特的余下部分被用零填充,这些零称作“补零”。
细化阶段提高原始块中像素的编码准确度。由细化阶段生成的数据的每个比特将一像素的编码准确度提高一个比特。
脉冲码调制(PCM)方法
除了基于DPCM的方法外,编码器还尝试另一类型的方法,称作PCM方法。在PCM方法中,每个像素值被向右移位固定数目的比特。此固定数目的比特针对每个像素是恒定的,然而可以在块中依像素的不同而不同。移位后的像素值然后被放入比特流中而不进行任何进一步的处理。
准确度、模式选择和比特流生成
在编码器应用了使用不同qn值的基于DPCM的方法和PCM方法之后,编码器针对所有测试过的情形测量编码准确度。对于基于DPCM的方法,针对一图像块,“准确度”或“覆盖度”被定义为该块中通过DPCM/VLC或通过细化编码了的原始像素比特的总数目。对于PCM方法,针对一图像块,“准确度”或“覆盖度”被定义为该块中被编码了的原始像素比特的总数目。如果具有qn值中的任一个的DPCM被允许并且通过基于DPCM的方法获得了最佳编码准确度,则编码器发送通知基于DPCM的方法的“1”、通知最佳qn值的一个或多个比特、通知predNumBest的一个或多个比特、由对块中所有像素的熵编码阶段生成的比特、细化比特(如果有的话)以及补零(如果有的话)。如果具有qn值中的任一个的DPCM都不被允许,或者具有一个或多个qn值的DPCM被允许然而最佳编码准确度是由PCM方法得到的,则编码器发送通知PCM方法的“0”,然后是由PCM方法生成的比特。
重建:DPCM情况
在基于DPCM的方法中,在针对块中的每个像素编码了该块之后,qDepth=depth-qn个比特被利用DPCM/VLC编码。0到qn之间的比特被利用细化编码,并且针对每个像素,利用细化编码的比特数目用f来表示。记号e=qn-f被使用,其中e是针对一像素的“有效qn”。针对一给定像素,depth-e个比特被通过DPCM/VLC或通过细化编码,而e个比特根本不被编码。出于重建的目的(在编码器和解码器处),最高有效的depth-e个比特被设定为由编码器编码的值,最高有效的未编码比特被设定为“1”并且其他未编码比特被设定为“0”。
重建:PCM情况
在PCM方法中,在编码了一块之后,针对块中的每个像素,qDepth=depth-qnPCM个比特被利用PCM方法编码,并且qnPCM个比特根本不被编码。出于重建的目的(在编码器和解码器处),最高有效的depth-qnPCM个比特被设定为由编码器编码的值。最高有效的未编码比特被设定为“1”并且其他未编码比特被设定为“0”。
预测
针对每个块,多种预测模式可被定义。预测模式中的一些可与图像中可能的边缘方向相关联。例如,图1图示出与图像中不同的可能方向相关联的7种可能的预测模式。其他一些预测模式可被定义为不与图像中可能的边缘方向相关联。例如,两种预测模式是“普通”和“DC”。通过使用额外的两种示例情况,存在九种预测模式。
针对第一行的预测
针对预测,对于大多数的预测模式而言,编码器和解码器需要前一行的重建后的值。然而,对于第一行,没有用于预测的前一行。在这种情况下,不可获得的、所需的前一行的重建值被假设为2(depth-1)。对于depth=10,这产生512。
对预测图案(Pattern)的限制
为了获得针对当前块中的像素A的预测,通过两种预测可能方案中的一种来获得预测。第一种是使用先前编码了的块的一个或多个重建值,这些值能够以任意希望的方法被组合。第二种是确切地使用当前块中位于当前像素之前的原始像素值中的一个。
在比特流中通知qn和预测模式
如果用于当前块的qn与顶部的块(the block on the top)的qn相同,则“1”被发送。对于图像中的第一行,顶部块的qn被假设为qnList中的第一个qn。如果顶部块被用PCM方法编码(因此不具有与之相关联的qn),则替代顶部的qn,使用顶部上的qn。如果用于当前块的qn不同于顶部的块的qn,则“0”被发送,随后发送I-1的二进制表示,这里I是顶部块的qn从列表中被去除时qnList中的qn的索引。例如,如果qnList=[01234567],并且顶部块的qn是3,则下表示出在将八个可能qn值用于当前块的情况下的通知比特:
  当前块的qn   0   1   2   3   4   5   6
  用于指定当前块的qn的信号   0000   0001   0010   1   0011   0100   0110
对预测模式的通知以相同的方式完成。
熵编码
针对任一量化值的残差,熵编码器计算VLC。
1、用于表示量化值的残差的量值(magnitude)的比特总数目被计数(忽略最高有效的“1”左侧的零),这针对量化值的残差给定值K。
2、K个零被写入比特流。
3、K个量值比特被写入。
4、然后,符号位被写入,0表示负数并且1表示0或正数。
图2图示出根据一些实施例的示例性VLC计算。
图3图示出根据一些实施例的示例性熵编码表。如表中所示,最左侧的列是量化值的残差输入。中间的列是输入的二进制表示,即量值和符号位,其中对于负数,符号位是0,并且对于正数是1。输出包括在K个量值比特之前的K个零和在末尾处的符号位。
在编码器处的细化
在DPCM编码和熵编码之后,一系列比特在编码器处被生成来通知PCM/DPCM比特、通知块的qn值、通知预测模式以及由熵编码器生成的比特。这些比特的数目可能少于块比特预算。为了使用剩余的比特,从未被DPCM编码的最高有效比特开始,在块的左侧到右侧之间交替地,编码器发送原始像素的比特。图4图示出将剩余比特用于细化的示例。blockWidth(块宽度)等于16并且qn是3。发送细化比特的顺序被示出。在此示例中,与比特预算所允许的一样多的比特(至多48比特)可作为细化比特被发送。细化比特在细化阶段期间被发送。
基于DPCM的编码,重建值
图5图示出基于DPCM的编码和重建值的示例。所示出的数字指示出在编码器和解码器处的重建期间被指派给未编码比特的值。
针对模式判决如何测量准确度
现返回参考图5,在块像素的原始二进制表示中存在depth×blockWidth个比特。DPCM对上述比特中的(depth-qn)×blockWidth个比特进行无损编码。(depth-qn)×blockWidth个比特称作由DPCM覆盖的比特。细化阶段还覆盖额外的比特,用R表示。R个比特通过细化被覆盖。这样,在原始信号的depth×blockWidth个比特之中,总共(depth-qn)×blockWidth+R个比特被覆盖而剩余的块未被覆盖。所覆盖比特的总数目被用作在给定qn的情况下针对每种基于DPCM的方法进行编码的准确度的量度。
原始图像和重建图像之间的像素值的差的分布
通过计算重建图像和原始图像之间的差而获得的图像用D来表示。图6图示出根据一些实施例的编码器和解码器。
针对图像中的每个像素,用e表示的用于该像素的有效qn是原始像素值中在编码处理期间未被编码的比特的数目。如果像素在经过PCM编码的块中,则e是未被编码器编码的像素比特的数目。如果像素在经过DPCM编码的块中,则e是原始像素值中未被DPCM或细化编码的比特的数目。编码器(不包括伽马)实际上使用步长s=2e在伽马之后(Og)均匀地量化原始图像中的每个像素,这里e(并且因此s)可依像素的不同而不同。
当要通过步长s来均匀地量化像素时,针对量化定义了两个方面。量化桶是所有都被量化为相同值的s值的组。针对该桶的重建值是将在重建时代表桶中所有成员的值。针对Og中的像素值假设均匀的分布。量化桶具有相等的大小并且对于每个量化桶,重建值在桶中间。因为像素值的范围是2的幂,所以每个量化桶中值的数目(即s)也是2的幂(例如,s=2e)。因此,在e=0的情况下,任一s=1,这意味着无损量化。在此情况下,在每个桶中仅存在一个值,并且该值既是原始值又是重建值。或者,s是偶数,在此情况下,没有原始样本确切地处于桶的中间。桶的中间正好处于两个样本值之间。为了选择重建值,紧邻在中间点上或者在中间点下的样本被选择。
图7图示出在e=0、1、2、3、4和5的情况下的桶及其重建值。在图7中,圆圈和黑盘表示原始值,框表示桶,黑盘表示每个桶中的重建值并且虚线段表示每个桶的中间点。
偏置(bias)效果
假设原始像素值在0到1023的范围上均匀分布,如果紧邻在中间点上的重建值被选择,则对于重建图像产生+0.5的偏置。类似地,如果重建值被选择为紧邻在中间点下,则偏置是-0.5。存在用于避免偏置的不同方式。一种方式是在“紧邻在上”和“紧邻在下”的样本值之间交替。
伽马的作用
在伽马函数和逆伽马函数中,存在应用于某些像素的除数为2和4的某些除法。利用左移运算来执行除法。左移一次运算针对其被应用的像素产生-0.5的偏置。左移二次运算针对其被应用的那些像素产生-1.5的偏置。伽马的另一作用是:它改变原始输入图像的直方图。在伽马之后,在Og中,某些值不再出现。因此,Og中的像素值的分布不再是均匀的。
DPCM结构
图8图示出根据一些实施例的用于DPCM模式的比特流结构800。比特流结构800具有blockBitBudget(块比特预算)的长度。第一比特(也称作最高有效比特)是用来指示DPCM模式的“1”。然后,比特被用于指示qn的值。之后是通知预测模式的比特。对于块中的每个像素,像素被DPCM编码:像素及其预测通过qn被量化,并且它们的差被熵编码。根据量化值的残差和qn值,每个像素生成1到codeLengthLimit个比特。如果此时比特的总数目小于块比特预算,则额外的细化比特被添加来进一步提高编码准确度。最后,补零比特在块被无损编码的情况下被附在末尾处。
PCM
图9图示出在块宽度等于16并且bps为4的情况下的针对PCM方法的比特发送顺序。图10图示出块的重建。
图11图示出根据一些实施例的用于PCM模式的比特流结构1100。比特流结构1100具有blockBitBudget的长度。第一比特(也称作最高有效比特)是用来指示PCM模式的“0”。然后,对于剩余像素,包括了用于块中所有像素的PCM码。
编码器
在图12中示出具有多个细化阶段的示例性编码器结构。图12中的示例包括用于每种模式的细化阶段。图13图示出具有单个细化阶段的编码器结构。这样,替代用于每种模式的细化阶段,存在单个细化阶段。图14图示出具有被划分为两部分的熵编码的编码器,这两部分是:码值/长度计算和比特流生成。图15图示出使码值和长度计算与比特流生成分离然而具有单个细化阶段和单个比特流生成的编码器。这些示例仅意在图示出一些可能的示例。包括更少或更多组件的其他实现方式是可能的。
图16图示出根据一些实施例的每块使用固定数目比特的压缩方法的流程图。在步骤1600,图像被分割为块。在一些实施例中,图像首先被分割为垂直条带然后每个垂直条带被分割为称作块的小的行片段。在步骤1602,伽马转换被应用以生成诸如10比特数据之类的数据。在步骤1604,预测值被计算。如这里描述的,存在许多种可行的预测方法。在步骤1606,量化被应用于像素。在步骤1608,DPCM计算发生。在步骤1608,量化后的像素和量化后的预测之间的差被计算,并且熵编码被实现以针对每个量化值的残差生成可变长度码。在步骤1610,细化被实现。在步骤1612,PCM计算发生。在步骤1614,比特流被生成。比特流依赖于DPCM和PCM方法中的哪个产生更高准确度。这些步骤的顺序可改变并且在一些实施例中,一些步骤可被跳过。
图17图示出根据一些实施例的被配置为实现每块使用固定数目比特的图像压缩方法的示例性计算设备1700的框图。计算设备1700可用于获取、存储、计算、传送和/或显示诸如图像和视频之类的信息。例如,计算设备1700可获取并存储图像。当在设备1700上获取或查看图像时,图像压缩方法可被使用。一般地,适合于实现计算设备1700的硬件结构包括网络接口1702、存储器1704、处理器1706、(一个或多个)I/O设备1708、总线1710和存储设备1712。对处理器的选择不是严格的,只要具有足够速度的适当处理器被选择即可。存储器1704可以是本领域已知的任意传统计算机存储器。存储设备1712可包括硬盘驱动器、CDROM、CDRW、DVD、DVDRW、闪存卡或任何其他存储设备。计算设备1700可包括一个或多个网络接口1702。网络接口的示例包括连接到以太网或其他类型LAN的网卡。(一个或多个)I/O设备1708可包括以下项中的一个或多个:键盘、鼠标、监视器、显示器、打印机、调制解调器、触摸屏、按钮界面以及其他设备。用于执行图像压缩方法的(一个或多个)图像压缩应用1730很可能被存储在存储设备1712和存储器1704中并且像应用通常被处理的那样被处理。比图17中示出的组件更多或更少的组件可被包括在计算设备1700中。在一些实施例中,压缩硬件1720被包括。虽然图17中的计算设备1700包括用于图像压缩的应用1730和硬件1720,然而,图像压缩方法可在计算设备上以硬件、固件、软件或其任意组合来实现。例如,在一些实施例中,图像压缩应用1730被编程在存储器中并且利用处理器来执行。在另一示例中,在某些实施例中,图像压缩硬件1720是编程的硬件逻辑,其包括特别设计用于实现图像压缩方法的门电路。
在一些实施例中,(一个或多个)图像压缩应用1730包括若干应用和/或模块。如这里所描述的,这些模块包括分割模块、编码模块、伽马模块、预测模块、量化模块、DPCM模块、细化模块、PCM模块和比特流模块,每个模块用于实现这里描述的相应方法。在一些实施例中,针对每个量化因子存在独立的DPCM编码模块。在一些实施例中,这些模块还包括一个或多个子模块。在一些实施例中,更少或更多的模块可被包括。
适当的计算设备的示例包括:个人计算机、膝上型计算机、计算机工作站、服务器、大型机、手持计算机、个人数字助理、蜂窝/移动电话、智能家电、游戏手柄、数字相机、数字摄录机、相机电话、
Figure BSA00000670143500141
视频播放器、DVD写入器/播放器、电视、家庭娱乐系统或者任何其他适当的计算设备。
为了实现图像压缩算法,用户比如在数字摄录机上获取视频/图像,并且在视频被获取的同时或之后,图像压缩方法自动地压缩视频的每个图像,以使得视频被适当压缩来维持高质量视频。图像压缩方法自动发生而无需用户干预。类似地,当解码器正解码视频时,解码器自动解码视频以使得它适当地进行显示。
在操作中,这里描述的图像压缩方法提供在一些实施例中低硬件成本(例如不需要很多逻辑门电路)、低复杂度、低时延、十分高的视觉质量(例如视觉上无损)的图像压缩,并且不依赖于其他块来解码(例如由于固定的块尺寸所以解码任意块)。图像压缩方法可被用在任意的实现方式中,包括但不限于无线高清(无线HD)。
这里描述的图像压缩方法可与视频和/或图像一起使用。
每块使用固定数目比特的数字图像压缩方法的一些实施例
1.一种被编程在设备中的控制器中的图像压缩方法,包括以下步骤:
a.将图像分割为一个或多个块;和
b.编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的。
2.根据第1项所述的方法,还包括应用伽马转换来生成10比特数据。
3.根据第1项所述的方法,还包括利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。
4.根据第3项所述的方法,其中预测模式包括以下至少一个:
a.普通;
b.DC;
c.右上;
d.右上上;
e.上;
f.左上上;
g.左上;
h.左左上;以及
i.左。
5.根据第1项所述的方法,还包括应用量化。
6.根据第1项所述的方法,还包括计算差分脉冲码调制来生成量化值的残差。
7.根据第6项所述的方法,还包括实现熵编码来针对每个量化值的残差生成可变长度码。
8.根据第7项所述的方法,其中实现熵编码被分为两部分:码值/长度计算和比特流生成。
9.根据第7项所述的方法,其中实现熵编码被分为两部分:码值/长度计算和比特流生成,但是具有单个细化阶段和单个比特流生成。
10.根据第1项所述的方法,还包括实现细化。
11.根据第10项所述的方法,其中实现细化包括针对每个量化的分别的细化阶段。
12.根据第10项所述的方法,其中实现细化包括单个细化阶段。
13.根据第1项所述的方法,还包括计算脉冲码调制,该计算包括将每个像素值移位固定数目的比特。
14.根据第1项所述的方法,还包括生成比特流。
15.根据第14项所述的方法,其中生成比特流包括选择差分脉冲码调制或脉冲码调制的编码方法。
16.根据第1项所述的方法,其中所述控制器是从包括以下项的组中选出的:经过编程的计算机可读介质和专用电路。
17.根据第1项所述的方法,其中所述设备是从包括以下项的组中选出的:个人计算机、膝上型计算机、计算机工作站、服务器、大型机、手持计算机、个人数字助理、蜂窝/移动电话、智能家电、游戏手柄、数字相机、数字摄录机、相机电话、iPhone、
Figure BSA00000670143500161
视频播放器、DVD写入器/播放器、电视和家庭娱乐系统。
18.一种被编程在设备中的控制器中的图像压缩系统,包括:
a.分割模块,用于将图像分割为一个或多个块;和
b.编码模块,用于编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的。
19.根据第18项所述的系统,还包括计算模块,用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。
20.根据第19项所述的系统,其中所述预测模式包括以下至少一个:
a.普通;
b.DC;
c.右上;
d.右上上;
e.上;
f.左上上;
g.左上;
h.左左上;以及
i.左。
21.一种被编程在设备中的控制器中的图像压缩系统,包括:
a.伽马模块,用于应用伽马转换来生成10比特数据;
b.预测模块,用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值;
c.量化模块,用于应用量化;
d.DPCM模块,用于计算差分脉冲码调制来生成量化值的残差;
e.细化模块,用于实现细化;
f.PCM模块,用于计算脉冲码调制,该计算包括将每个像素值移位固定数目的比特;以及
g.比特流模块,用于生成比特流,其中生成比特流包括选择差分脉冲码调制或脉冲码调制编码方法。
22.根据第21项所述的系统,其中所述预测模式包括以下至少一个:
a.普通;
b.DC;
c.右上;
d.右上上;
e.上;
f.左上上;
g.左上;
h.左左上;以及
i.左。
23.根据第21项所述的系统,其中所述控制器是从包括以下项的组中选出的:经过编程的计算机可读介质和专用电路。
24.根据第21项所述的系统,其中所述设备是从包括以下项的组中选出的:个人计算机、膝上型计算机、计算机工作站、服务器、大型机、手持计算机、个人数字助理、蜂窝/移动电话、智能家电、游戏手柄、数字相机、数字摄录机、相机电话、iPhone、
Figure BSA00000670143500181
视频播放器、DVD写入器/播放器、电视和家庭娱乐系统。
25.一种相机设备,包括:
a.用于获取视频的视频获取组件;
b.用于存储应用的存储器,该应用用于:
i.将图像分割为一个或多个块;和
ii.编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的;以及
c.耦接到所述存储器的处理器组件,该处理器组件被配置为处理所述应用。
26.根据第25项所述的相机设备,其中所述应用还用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。
27.根据第26项所述的相机设备,其中所述预测模式包括以下至少一个:
a.普通;
b.DC;
c.右上;
d.右上上;
e.上;
f.左上上;
g.左上;
h.左左上;以及
i.左。
已经根据包含用于帮助理解本发明的构造和操作原理的细节的具体实施例描述了本发明。这里提及具体实施例及其细节并非意欲限制所附权利要求的范围。本领域普通技术人员容易理解:可在出于说明性目的选出的实施例中做出其他各种修改而不会背离如权利要求所定义的本发明的精神和范围。

Claims (13)

1.一种被编程在设备中的控制器中的图像压缩方法,包括以下步骤:
a.将图像分割为一个或多个块;和
b.编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的。
2.根据权利要求1所述的方法,还包括应用伽马转换来生成10比特数据。
3.根据权利要求1所述的方法,还包括利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。
4.根据权利要求1所述的方法,还包括应用量化。
5.根据权利要求1所述的方法,还包括计算差分脉冲码调制来生成量化值的残差。
6.根据权利要求5所述的方法,还包括实现熵编码来针对每个量化值的残差生成可变长度码。
7.根据权利要求6所述的方法,其中,实现熵编码被分为两部分:码值/长度计算和比特流生成。
8.根据权利要求1所述的方法,还包括实现细化,其中,实现细化包括单个细化阶段或者包括针对每个量化的分别的细化阶段。
9.根据权利要求1所述的方法,还包括计算脉冲码调制,该计算包括将每个像素值移位固定数目的比特。
10.根据权利要求1所述的方法,还包括生成比特流,其中生成比特流包括选择差分脉冲码调制或脉冲码调制的编码方法。
11.一种被编程在设备中的控制器中的图像压缩系统,包括:
a.分割模块,用于将图像分割为一个或多个块;和
b.编码模块,用于编码所述一个或多个块,其中在所述一个或多个块的每个块中的比特数目是固定的。
12.根据权利要求11所述的系统,还包括计算模块,所述计算模块用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值。
13.一种被编程在设备中的控制器中的图像压缩系统,包括:
a.伽马模块,用于应用伽马转换来生成10比特数据;
b.预测模块,用于利用一种或多种预测模式来针对所述一个或多个块中的当前块中的每个像素计算预测值;
c.量化模块,用于应用量化;
d.DPCM模块,用于计算差分脉冲码调制来生成量化值的残差;
e.细化模块,用于实现细化;
f.PCM模块,用于计算脉冲码调制,该计算包括将每个像素值移位固定数目的比特;以及
g.比特流模块,用于生成比特流,其中生成比特流包括选择差分脉冲码调制或脉冲码调制的编码方法。
CN2012100322538A 2011-02-25 2012-02-10 每块使用固定数目比特的数字图像压缩方法 Pending CN102651815A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/035,060 US8634668B2 (en) 2011-02-25 2011-02-25 Method of compression of digital images using a fixed number of bits per block
US13/035,060 2011-02-25

Publications (1)

Publication Number Publication Date
CN102651815A true CN102651815A (zh) 2012-08-29

Family

ID=46693699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100322538A Pending CN102651815A (zh) 2011-02-25 2012-02-10 每块使用固定数目比特的数字图像压缩方法

Country Status (3)

Country Link
US (1) US8634668B2 (zh)
CN (1) CN102651815A (zh)
RU (1) RU2510079C2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103974072A (zh) * 2013-01-29 2014-08-06 江山 视频解码中基于块压缩的帧的储存
CN109716768A (zh) * 2016-09-20 2019-05-03 高通股份有限公司 存储和检索高位深度图像数据
US10841585B2 (en) 2016-03-10 2020-11-17 Sony Corporation Image processing apparatus and method

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140253759A1 (en) * 2013-03-11 2014-09-11 Sony Corporation Pixel-based directional prediction patterns for digital coding of images
RU2573770C2 (ru) * 2014-06-17 2016-01-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" (ВятГУ) Способ сжатия изображений
US9686560B2 (en) * 2015-02-23 2017-06-20 Teledyne Dalsa, Inc. Lossless data compression and decompression apparatus, system, and method
US10091506B2 (en) * 2015-06-11 2018-10-02 Sony Corporation Data-charge phase data compression architecture
US10097829B2 (en) 2015-10-23 2018-10-09 Sony Corporation System and method for compression of digital content
CN111801948B (zh) 2018-03-01 2023-01-03 索尼公司 图像处理装置和方法、成像元件和成像装置
US10750182B2 (en) 2018-11-20 2020-08-18 Sony Corporation Embedded codec circuitry for visual quality based allocation of refinement bits
KR20200065367A (ko) * 2018-11-30 2020-06-09 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서
US10645386B1 (en) 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1240090A (zh) * 1996-12-10 1999-12-29 汤姆森消费电子有限公司 数字图像信号处理器的数据高效量化表
EP1100049A2 (en) * 1999-11-12 2001-05-16 Wada, Ayao Method for digital compression of color images
EP2384003A1 (en) * 2009-01-22 2011-11-02 NTT DoCoMo, Inc. Device, method and program for image prediction encoding, device, method and program for image prediction decoding, and encoding/decoding system and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940011605B1 (ko) 1991-12-20 1994-12-22 삼성전자 주식회사 고정비트율 설정에 의한 영상압축방식
KR0160610B1 (ko) 1992-04-07 1999-01-15 강진구 가변장부호화에 의한 영상압축방법과 신장방법 및 그 장치
US6272180B1 (en) 1997-11-21 2001-08-07 Sharp Laboratories Of America, Inc. Compression and decompression of reference frames in a video decoder
US6356588B1 (en) 1998-04-17 2002-03-12 Ayao Wada Method for digital compression of color images
JP5127089B2 (ja) * 2000-10-17 2013-01-23 キヤノン株式会社 表示装置、投射型表示装置、光変調装置の駆動装置、及び光変調装置の駆動方法
AUPR192800A0 (en) 2000-12-06 2001-01-04 Canon Kabushiki Kaisha Digital image compression and decompression
FI114071B (fi) 2003-01-13 2004-07-30 Nokia Corp Kuvien käsitteleminen rajoitetulla bittimäärällä
KR100813958B1 (ko) 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
US7545293B2 (en) * 2006-11-14 2009-06-09 Qualcomm Incorporated Memory efficient coding of variable length codes
EP2213099A1 (en) 2007-10-15 2010-08-04 QUALCOMM Incorporated Improved enhancement layer coding for scalable video coding
RU2420021C2 (ru) 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1240090A (zh) * 1996-12-10 1999-12-29 汤姆森消费电子有限公司 数字图像信号处理器的数据高效量化表
EP1100049A2 (en) * 1999-11-12 2001-05-16 Wada, Ayao Method for digital compression of color images
EP2384003A1 (en) * 2009-01-22 2011-11-02 NTT DoCoMo, Inc. Device, method and program for image prediction encoding, device, method and program for image prediction decoding, and encoding/decoding system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103974072A (zh) * 2013-01-29 2014-08-06 江山 视频解码中基于块压缩的帧的储存
US10841585B2 (en) 2016-03-10 2020-11-17 Sony Corporation Image processing apparatus and method
CN109716768A (zh) * 2016-09-20 2019-05-03 高通股份有限公司 存储和检索高位深度图像数据

Also Published As

Publication number Publication date
US20120219231A1 (en) 2012-08-30
RU2510079C2 (ru) 2014-03-20
RU2012104815A (ru) 2013-08-20
US8634668B2 (en) 2014-01-21

Similar Documents

Publication Publication Date Title
CN102651815A (zh) 每块使用固定数目比特的数字图像压缩方法
KR101461771B1 (ko) 랜덤 액세스 능력을 갖는 이미지 압축 방법
CN103918261B (zh) 分层信号质量层级中的信号处理和继承
CN101505429B (zh) 对视频数据进行内编码的方法和设备
CN101584215B (zh) 综合空时预测
CN105379283A (zh) 数据编码和解码
CN105103549A (zh) 根据重要系数的参数的重要系数编码和解码
CN1126065C (zh) 压缩和解压缩图象
JP2005348390A5 (zh)
CN104704825B (zh) 分段图像数据的无损压缩
JP6681383B2 (ja) エンコーダ、デコーダ、および方法
CN105850136B (zh) 使用预测信号和变换编译信号预测视频信号的方法和装置
JP2007189276A (ja) 画像圧縮装置及び画像圧縮プログラム
CN111050176B (zh) 视频编码、视频解码方法、装置、计算机设备和存储介质
CN109936742A (zh) 对视频序列进行编码的方法、编码装置和存储介质
US10244260B2 (en) Encoder and decoder, and method of operation
CN106165428A (zh) 数据编码和解码
CN105453566B (zh) 数据编码及数据解码
CN107431807A (zh) 内容自适应b‑图像模式视频编码
US9860565B1 (en) Low cost rate-distortion computations for video compression
CN102986223A (zh) 图像处理设备、图像处理方法和程序
KR20160033714A (ko) 보간을 이용한 연산 방법, 인코더, 및 디코더
US10536697B2 (en) Method for re-encoding image and apparatus therefor
CN102905125A (zh) 运动图像编码设备和运动图像编码方法
CN110035288A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120829