输,并且拖延会导致丢失帧。
[0031]除了带宽限制之外,空间限制也可能对传输未压缩数据产生问题。例如,信道150可包括设备中的本地存储器缓冲器和/或主存储器系统,所述设备包括图像数据源110和图像数据目标140。数据在存储器中的尺寸(其“占用空间”)可能消耗可用存储器的全部、或者存储器的足够大的部分,从而其他数据被挤出存储器。
[0032]即使在信道150的带宽和空间特征足以处理未压缩数据的情况下,系统整体中更高的性能(在该系统整体中,除了将数据从图像数据源110传送到图像数据目标140之外还有可能需要访问信道150的其他活动正在被执行)也可能通过降低图像数据源110对信道150的负载而实现。
[0033]图像解压缩单元130被配置为对图像压缩单元120的操作进行反向操作,从而生成原始未压缩数据或其近似值。即,图像解压缩单元130被设计为知道图像压缩单元120所使用的压缩算法。此外,如果压缩算法的参数是可编程的,则图像压缩单元120和图像解压缩单元130均可以相同方式被编程,以确保图像解压缩单元130正确地解释所接收的数据。
[0034]另外,图像数据源和图像数据目标均可包括基准缓冲器,从而允许差分数据被编码。因此,在一些实施例中,图像压缩单元120可被配置为将已经被发送的图像数据存储到基准缓冲器,并将未来的图像数据与存储在基准缓冲器中的图像数据进行比较并发送表示二者之间差异的图像数据。类似地,在一些实施例中,图像解压缩单元130可被配置为保持所接收图像数据的基准缓冲器,并将新接收的差分图像数据与基准缓冲器中的图像数据进行比较以便生成完整图像数据。
[0035]就图像数据而言,表示图像的数据的帧可具有空间关系。数据的帧例如可表示被布置为二维格式的一组像素的颜色。在帧内,可限定包括像素子组的块。块的尺寸(例如像素数量)可以是能配置的。压缩单元120/解压缩单元130的一个具体实施可提供每个块大约1000到2000个像素的具有良好图像结果的良好压缩比率。因此,例如,可限定水平32个像素乘竖直32个像素(32X32)的块,并且这样的块包括1024个像素。此外,在各种实施例中,块的形状可以是不同的。例如,可限定方形或矩形的块。因此,1024像素块可以是32X32、64X16、128X8、256X4等等。在基于块的具体实施中,每个块可作为一个单元被压缩,并且压缩的块可被传输和解压缩。在另一具体实施中,可以更小的块(例如64像素块,以16X4布置)实现良好的压缩结果。在其他具体实施中也可使用更大的块(例如具有不止2000个像素的块)。
[0036]将压缩算法应用到数据的块可包括被应用于数据的一个或多个变换,从而将数据变换为其中至少一些变换后的数据成为零或非零的形式。例如,在一些实施例中,可使用一个或多个小波变换。在一个具体实施中,可以系数[1],[I]来应用Haar小波。在另一具体实施中,可连续应用多个小波,包括例如:具有系数[1,1],[-1,9,9, -1]的 Deslauriers-Dubuc (9,7);具有系数[1,1], [1,1]的 LeGall (5,3);具有系数[-1,9,9,-1], [-1,9,9,-1]的 Deslauriers-Dubuc (13,7);以及具有系数[I], [I]的 Haar。利用系数一和九、并将九作为一和八来处理,就可能在图像压缩单元120和图像解压缩单元130中不需要乘法器。即,可利用移位器和加法器来执行计算。其他实施例可实施任何其他变换或变换组合。例如,可使用离散余弦变换(或其整数等同量)。可使用下文中讨论的RGB到YUV变换。
[0037]根据一些实施例,色彩空间转换可用于减少可被滤波硬件和/或软件滤波的色彩分量的数量。例如,每个像素的红-绿-蓝(RGB)表示可被转换为该像素的YUV表示。大多数图像信息可能位于可能被滤波的Y分量中。经滤波的Y分量和未被滤波的U和V分量然后可被转换回RGB表示,该RGB表示可接近地近似对R、G、和B分量中每一个进行滤波的结果。在另一实施例中,Bayer传感器输出可被转换为YUVW格式(并且Y分量可被滤波)。
[0038]经由一个或多个变换对未压缩数据进行变换而得到的数据可被称为系数。基于系数相对于零的量值,系数可具有相关联的有效性。例如,由上面讨论的小波变换得到的系数可以是正符号整数。因此,系数中的最高有效设置位可被视为系数的有效性的量度。最高有效设置位处于相同位位置的多个系数可被称为一个有效性组。如果与第二系数的最高有效设置位处于的位位置相比,第一系数的最高有效设置位处于更有效位位置,则第一系数可被称为比第二系数更有效。或者,正符号整数和负符号整数都可被包括在系数中。在这样的情况下,如果整数是正的(符号位为零),则最高有效设置位可指示有效性组。如果整数是负的(符号位为一),则两个或更多个最高有效位可被置位。在这样的实施例中,具有相同字段的最高有效设置位的系数可被包括在相同的有效性组中。
[0039]图像压缩单元120可根据最可能具有有效系数的数据的区域来对系数进行排序,从而得到排序列表。图像压缩单元120然后可对排序列表进行扫描,从而搜索最高有效系数(即对最高有效位进行置位的那些系数),并且可将最高有效系数传输到图像数据目标140。此外,在扫描期间,图像压缩单元120可为每个其他有效性组生成系数的链接表。即,对于系数中的每个位,链接表可被生成为具有指向具有该位作为最高置位位的系数的指针,从而形成有效性组作为每个链接表的成员。因此,在一个实施例中,每个系数可被包括在仅一个有效性组中。请注意,虽然在本文中利用系数的链接表来进行描述,但在一些实施例中,可利用除了链接表之外的数据结构(例如数组)来生成系数的有效性组。
[0040]这样,系数的列表可只被完整地扫描一次。每个其他有效性组的系数的列表可被遍历,从而将对其余每个数值的访问限制为一次。因此,对列表扫描的数量可少于二,并且可接近一。例如,在一实施例中,列表大约11/4的扫描可足以发送所有系数。具体地,在一个实施例中,更有效的系数可能集聚在被压缩块的一个区域中,其中其他有效系数以小的数量出现在其他区域中。
[0041]图像压缩单元120可通过发送系数的位置、并且后面跟有系数的数值(例如作为有符号的整数)来“发送”系数。例如,系数列表中系数的地址可作为位置(或者对于第一系数之后的每个系数,相对于先前发送的地址的地址差异,在本文中称为“△地址”)来发送。其他实施例可以其他方式来标识位置(例如作为块内或图像内的像素地址)。在一个实施例中,系数列表Λ地址可利用指数编码(诸如指数Golomb码)来传输。根据一些实施例,指数Golomb码发送小量值数(接近零)效率很高,但发送较高量值数效率很低。由于系数列表Δ地址很小,所以指数Golomb码可高效地发送该地址。
[0042]在一个实施例中,图像压缩单元120可被配置为将系数的初始二进制二的补码表示转换为有符号的量值系数。最高有效系数被最先发送,然后顺序地发送较低有效系数,直到所有系数被发送或者直到诸如由于缺少空间(例如在接收缓冲器中)或时间,传输被提前终止。在一实施例中,系数数值的最高有效位不被发送,因为其可能始终被置位(即二进制“I”)。对于每个系数数值,其余的位可被发送。在一个实施例中,当存在一时,可为每个系数数值发送符号位。或者,负的系数数值可作为单独的有效性组被发送。例如,在一实施例中,负有效组可在正数值的等同有效性组之后(或之前)被发送。在这样的实施例中,符号可以是隐式的。
[0043]图2是展示使用差分传送进行的无损图像压缩方法的一个实施例的流程图。根据一个实施例,如在框200中所示,图像压缩单元(诸如图像压缩单元120)可接收图像序列中图像的图像数据。例如,图像数据源110可代表相机,并且可将图像数据发送到图像压缩单元120。在一个实施例中,图像数据源110可以是例如被配置为以顺序的方式连续地将图像(例如每个图像的图像数据)发送到图像压缩单元120的摄像机。
[0044]图像压缩单元120然后可传输图像数据,使得图像的至少一些块的图像数据由于资源局限而利用有损压缩来传输,如框210中所示。例如,图像压缩单元120可被配置为将从图像数据源110接收的图像数据压缩并传输到图像数据目标140,如上所述。此外,由于一个或多个连接或信道(诸如信道150)的受限本质,图像压缩单元120可以有损方式(例如利用有损压缩)压缩图像的一个或多个块,然后传输有损压缩的图像数据(可能与其他块的无损压缩的图像数据一起)。如上所述,根据各种实施例,图像压缩单元120可被配置为使用各种无损和有损压缩技术中的任何技术。
[0045]在传输当前图像的图像数据之后,图像压缩单元120可接收图像序列中后续图像的图像数据,如框220中所示。图像压缩单元120然后可确定后续图像的至少一些块的图像数据相对于先前图像的对应块的图像数据没有改变,如框230中所示。例如,图像压缩单元120可被配置为确定当前帧的一个或多个块自先前帧以来还没有改变。这例如可在图像数据源110是捕获具有静态背景的图像的摄像机时、或者在相机视图内的运动(即使片刻地)停止时发生。因此,后续帧中的块的图像数据可能相对于先前图像(例如帧)中的同一块还没有改变。
[0046]请注意,根据不同实施例,图像压缩单元120可被配置为利用各种技术中的任何技术来确定块在两个图像之间是否已经改变。例如,在一个实施例中,图像压缩单元120可被配置为在两个帧之间比较块的图像数据。在另一实施例中,图像压缩单元120可被配置为当确定块在两个连续图像(例如帧)之间是否已经改变时比较图像数据的经变换或压缩的版本。在另一个实施例中,图像压缩单元120可被配置为对于块是否已经改变依赖于额外的信息(或元数据)。例如,图像数据源110可被配置为将图像改变信息与图像数据一起传输到图像压缩单元120。
[0047]如框240中所示,根据一个实施例,图像压缩单元120被配置为能够以足以创建块的无损版本的方式来传输图像数据,针对所述块,先前已发送了有损压缩的图像数据。例如,图像压缩单元120可对于第一图像内的特定块利用有损压缩来压缩该图像的图像数据,并将有损压缩的图像数据传输到图像解压缩单元130。例如,图像压缩单元120可能已经将图像数据变换为系数,但只将一半的所述系数(诸如最高有效系数)传输到图像解压缩单元130。因此,图像解压缩单元130可能不能构建该特定图像块的无损版本(例如由于其只接收了一半的所述系数)。但是,在处理后续图像时,图像压缩单元120可能确定该特定块的图像数据没有改变。响应于确定该块没有改变,图像压缩单元120于是可传输使得图像解压缩单元130 (和/或图像数据目标140)能够构建该块的无损版本的图像数据。
[0048]例如,在传输块的有损压缩的图像数据时,图像压缩单元120可能由于信道150上/中有限的资源而仅已经发送了一半的所述变换系数。在处理后续图像的对应块时,图像压缩单元120于是可将另一半的所述系数传输到图像解压缩单元130。因此,在接收到后续图像(例如帧)中对应块的图像数据之后,图像解压缩单元130(和/或图像数据目标140)可具有构建该块的无损版本所必需的所有信息。例如,图像解压缩单元130可将新接收的系数与先前接收的系数组合以构建该块的无损版本(因为图像解压缩单元130现在具有所有所述系数)。
[0049]在