专利名称:固定压缩倍率的影像压缩方法、解压缩方法及其电子装置的制作方法
技术领域:
本发明涉及一种影像压缩方法、解压缩方法及其电子装置,特别涉及一种用于数字影像的原始数据(raw data)的固定压缩倍率的影像压缩方法、解压缩方法及其电子装置。
背景技术:
数码相机等装置最初由电荷I禹合装置(charge coupled device, CO))等多图场感测器(multi-field sensor)所能得到的数据是原始数据(raw data),原始数据尚须经过影像处理装置进行许多的处理才能提供给使用者观赏。但是现有压缩原始数据的技术多采用无失真压缩(lossless compression)或是非视觉性失真压缩(not visible lossy compression),而难以控制压缩后的文件大小。此类压缩方式能够节省的空间并不一定,只能在实际压缩完后确认省下了多少储存空间。最新的影像信号处理器(image signalprocessor, ISP)多改用以影像排(band)为单位处理。但以多图场感测器并非以固定的顺序输出原始数据,因此会产生难以同时兼顾多图场感测器输出的图场次序以及以影像排为单位处理的问题。尤其在如何在压缩后的比特流中,兼顾上述两者以界定图场以及影像排的边界十分地困难。此外,即使只需影像中部分的影像排,最直觉的方法就是将整个压缩结果解码回全分辨率(full resolution)后,再选取所需的部分作进一步的处理。这种做法需要预备有能够容纳全分辨率的影像的记忆体。且随着时代进步,影像的分辨率增长快速,更加重了解码时的负担。
发明内容
为了解决上述问题,本发明的目的在于提供一种固定压缩倍率的影像压缩方法、影像解压缩方法及其电子装置,可以解决现有技术中难以兼顾图场顺序以及影像排边界的问题。电子装置包括一多图场感测器(multi-field sensor)、一记忆体以及一编解码器封套模块(codec wrapper module)。多图场感测器以一图场次序产生一影像的一原始数据(raw data),其中影像包括多个图列(line),且每一个图列对应一图场索引(fieldindex)。编解码器封套模块包括至少一编码器及至少一解码器,其分别执行固定压缩倍率的影像压缩方法以及影像解压缩方法。固定压缩倍率的影像压缩方法将影像的原始数据以一预定倍率压缩成一影像比特流(bit stream)。固定压缩倍率的影像压缩方法包括将影像分割为多个影像排,其中每一个影像排包括至少一个图列;依据压缩倍率以及原始数据的一比特流长度,于记忆体内指定一存放空间;依据压缩倍率以及原始数据的比特流长度,将存放空间分割为多个压缩排区,压缩排区分别对应于影像排;纪录每一个压缩排区的起始位置为一目前终止位置;依序接收图列;将这些图列分别压缩成为多个压缩比特流;以及依据这些图列的图场索弓丨、多图场感测器输出的图场次序以及与图列对应的影像排组成的群组,以一写入程序依序将压缩比特流写入对应的压缩排区。编码器执行的写入程序可包括接收一个压缩比特流;依据与压缩比特流对应的图场以及影像排,由对应的压缩排区的目前终止位置开始将压缩比特流写入对应的压缩排区;以及当压缩比特流对应的图列不为所属的影像排的最后一个图列时,更新对应的压缩排区的目前终止位置。其中的“所属的影像排的最后一个图列”,是指此图列为其所属的影像排中,依照图场次序被接收的最后一个图列。写入程序还可包括当压缩比特流对应的图列为所属的影像排的最后一个图列时,在写入的压缩比特流后以一填充码填满对应的压缩排区。影像解压缩方法是用于将编码器压缩成的影像比特流解码。影像解压缩方法包括接收影像比特流的至少一个压缩排区;以及依据图场次序,将压缩排区中的这些压缩比特流解压缩回与压缩排区对应的影像排中的图列。影像解压缩方法中,“依据图场次序,将压缩排区中的这些压缩比特流解压缩回与·压缩排区对应的影像排中的图列”的步骤可包括计算压缩排区内分别对应这些图场的多个图列数;以及依据图场次序以及图列数,将压缩排区中的这些压缩比特流解压缩回与压缩排区对应的影像排的图列。根据本发明的一实施范例,电子装置还可包括至少一记忆体总线(memory bus)以及一应用模块。记忆体总线电性连接于编解码器封套模块以及记忆体之间。而应用模块则电性连接于记忆体总线,并通过记忆体总线存取已被解码器解压缩的至少一个影像排。此外,电子装置也可包括一芯片上随机存取记忆体(on-chip random access memory,OCRAM),以纪录这些压缩排区的目前终止位置。固定压缩倍率的影像压缩方法,用以将一多图场感测器所产生的一影像的一原始数据以一压缩倍率压缩成一影像比特流,该影像包括多个图列,该多图场感测器将该些图列以一图场次序输出,每一该图列对应一图场索引,该固定压缩倍率的影像压缩方法包括将该影像分割为多个影像排,其中每一该影像排包括至少一该图列;依据该压缩倍率以及该原始数据的一比特流长度,于一记忆体内指定一存放空间;依据该压缩倍率以及该原始数据的该比特流长度,将该存放空间分割为多个压缩排区,该些压缩排区分别对应于该些影像排;纪录每一该压缩排区的起始位置为一目前终止位置;依序接收该些图列;将该些图列分别压缩成为多个压缩比特流;以及依据该些图列的该些图场索引、该多图场感测器输出的该图场次序以及与该些图列对应的该些影像排组成的群组,以一写入程序依序将该些压缩比特流写入对应的该些压缩排区。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图I为根据本发明一实施范例的电子装置的示意图;图2为根据本发明一实施范例的影像排的示意图;图3为根据本发明一实施范例的固定压缩倍率的影像压缩方法的流程图;图4为根据本发明一实施范例的写入程序的流程图;图5A 图5F为根据本发明一实施范例的写入过程的记忆体示意图;图6为根据本发明一实施范例的步骤S106的流程图;图7A为根据本发明一实施范例的影像解压缩的流程图;图7B为根据本发明另一实施范例的影像解压缩的流程图;以及 图7C为根据本发明又一实施范例的影像解压缩的流程图。其中,附图标记20电子装置22多图场感测器24编解码器封套模块241编码器242解码器25 记忆体26记忆体总线27芯片上随机存取记忆体28应用模块30 影像32,32a,32b 影像排34,34_1 34_m 图列40存放空间42a,42b 压缩排区44a, 44b目前终止位置46压缩比特流48填充码
具体实施例方式下面结合附图对本发明的结构原理和工作原理作具体的描述本发明提供一种固定压缩倍率的影像压缩方法、影像解压缩方法及其电子装置,以将一多图场感测器(multi-field sensor)所产生的一影像的一原始数据(raw data)以一压缩倍率压缩成一影像比特流(bit stream),或是将影像比特流解压缩(解码)回原始数据。首先请参照图1,其为根据本发明一实施范例的电子装置的示意图。电子装置20包括多图场感测器22、一编解码器封套模块(codec wrapper module) 24以及一记忆体25。编解码器封套模块24中可包括至少一编码器241以执行固定压缩倍率的影像压缩方法,或/且至少一解码器242以执行影像解压缩方法。而电子装置20可以是数码相机、附有照相功能的手机或是附有照相功能的笔记型计算机等能够以多图场感测器22撷取影像,并具有编码器241或/且解码器242的装置。多图场感测器22可以例如是电荷f禹合装置(charge coupled device,CO)),其以一图场次序产生影像的原始数据。请同时参照图2,其为根据本发明一实施范例的影像排的示意图。影像30包括多个图列(line)34,多图场感测器22则将所有图列34以图场次序输出。每一个图列34对应有一图场索引(field index),代表此图列34是属于哪一个图场。以图2的实施范例而言,多图场感测器22将影像30分为3个图场,并依据图场I、图场2以及图场3的图场次序将图列34输出。因此多图场感测器22依据图场次序将图列34按照34_1、34_4…34_n-2、34_n+1...34_m_2、34_2、34_5…34_n_I、34_n+2...34_m_I、34_3、34_6…34_n、34_n+3…34_m依序输出,其中η与m为3倍数的正整数,且m大于η。然而本说明书中仅以此为例,并不限制多图场感测器22分割的图场数量、一图列数以及输出的图场次序。其中一影像排(band) 32中每一个图场对应的图列34的数量称之为图列数。 记忆体25可被分割为不同区域,以分开储存已压缩的影像比特流以及将影像比特流解压缩的结果。电子装置20还可具有至少一记忆体总线26,其将编解码器封套模块24以记忆体25电性连接。记忆体25可以例如是双数据率记忆体(Double Data Ratememory, DDR memory)、动态随机存取记忆体(Dynamic Random Access Memory, DRAM)或是闪存(Flash memory)。请参照图3,其为根据本发明一实施范例的固定压缩倍率的影像压缩方法的流程图。首先将影像30分割为多个影像排32,其中每一个影像排32包括至少一个图列34 (步骤S101)。例如在图2中,影像30被分割成两个影像排32a以及32b ;而图列34_1 34_η与图列34_η+1 34_m分别属于影像排32a与32b。但影像30也可依需求被分割为更多的影像排32。编码器241依据压缩倍率以及原始数据的一比特流长度,于记忆体25内指定(allocate) 一存放空间(步骤S102)。依据压缩倍率以及原始数据的比特流长度,将存放空间分割为多个压缩排区,这些压缩排区是分别对应于影像排32(步骤S103)。且编码器241并纪录每一个压缩排区的起始位置为一目前终止位置(步骤S104)。电子装置20可还包括一芯片上随机存取记忆体(on-chip random accessmemory, OCRAM) 27,以储存每一个压缩排区的目前终止位置。芯片上随机存取记忆体27除了用以储存目前终止位置之外,还可供电子装置20内部的其它模块使用。此外,电子装置20也可在编解码器封套模块24内配置一个随机存取记忆体或多个缓存器(register),专门用来储存目前终止位置。接着编码器241由多图场感测器22依序接收所有图列34(步骤S105),并将这些图列34分别压缩成为多个压缩比特流(步骤S106)。且依据每一个图列34的图场索引、多图场感测器22输出的图场次序以及与此图列34对应的影像排32组成的群组,编码器241以一写入程序依序将压缩比特流写入对应的压缩排区(步骤S107)。更详细地说,编解码器封套模块24是不断重复接收一个图列34、将此图列34压缩成压缩比特流,以及以写入程序将此压缩比特流写入压缩排区,直到整个原始数据被压缩以及写入存放空间成为此影像比特流。而影像比特流也就是填满压缩比特流以及填充码的存放空间内的数据。请参照图4,其为根据本发明一实施范例的写入程序的流程图。写入程序首先接收一个压缩比特流(步骤S111),并依据与此压缩比特流对应的图场以及影像排32,由与此影像排32对应的压缩排区的目前终止位置开始,将此压缩比特流写入对应的压缩排区(步骤S112)。换句话说,写入程序判断图场索引以及压缩成此压缩比特流的图列34所属的影像排32。根据本发明的一实施范例,步骤S112可包括依据图场次序以及每一个图场对应的图列34的数量,计算与此压缩比特流对应的图场(即图场索引);以及依据每一个影像排32所包括的图列34的数量以及每一个图场对应的图列34的数量,计算与此压缩比特流对应的影像排32。将此压缩比特流写入后,写入程 序判断此压缩比特流对应的图列34是否为所属的影像排32的最后一个图列34(步骤S113)。其中的“所属的影像排32的最后一个图列34”,是指此图列34为其所属的影像排32中,依照图场次序被扫描以及接收的最后一个图列34。当此压缩比特流对应的图列34不是所属的影像排32的最后一个图列34时,更新对应的压缩排区的目前终止位置(步骤S114)。而当此压缩比特流对应的图列34是所属的影像排32的最后一个图列34时,在写入的压缩比特流后以一填充码填满对应的压缩排区(步骤 SI 15)。于步骤S115中,编解码器封套模块24判断在压缩排区内写入最后一个压缩比特流后此压缩排区内是否还有空间。若是,编解码器封套模块24便补上填充码。因此每一个压缩排区的起始位置都是存放一个影像排32中第一个依照图场次序被扫描的图列34的压缩比特流。图列34中的影像内容会影响到压缩出来的结果,因此与每一个压缩排区内的填充码的长度可能有所不同。而填充码中可以所有的位的值都相同,例如全是O或者是全是
I。填充码中的值也可不相同。填充码也可以是附加的压缩比特流的一验证码,例如可以是相对应的压缩比特流的校验和(check sum)。请搭配图4参照图5A到图5F,其为根据本发明一实施范例的写入过程的记忆体示意图。如图5A所示,于步骤S104之后记忆体25内的存放空间40依据影像排32a以及32b被分为压缩排区42a以及42b (以下统称为压缩排区42)。且压缩排区42a以及42b的起始位置分别被纪录为对应其的目前终止位置44a以及44b (以下统称为目前终止位置44)。其中压缩排区42a以及42b的起始位置可以由压缩排区42a以及42b的大小与存放空间40的起始位置计算得到。由于图场次序是图场I、图场2以及图场3,写入程序接到的第一个压缩比特流46是对应于影像30的第一个图列34_1,而属于第一个影像排32a以及图场I。写入程序将此压缩比特流46写入与影像排32a对应的压缩排区42a,并更新压缩排区42a的目前终止位置44a为被写入的此压缩比特流46的下一个位(bit)的位置,如图5B。编码器241依序将对应于图列34_1、34_4…34_n_2的压缩比特流46写入压缩排区42a,并逐一更新并保存压缩排区42a的目前终止位置44a。当写入程序接收到对应于图列34_n+l的压缩比特流46后,可在步骤S112得知其属于影像排32b。因此对应于图列34_n+1的压缩比特流46依据目前终止位置44b写入压缩排区42b,如图5C。值得注意的是,编码器241是将影像排32a内属于图场I的所有图列34都依序压缩并写入压缩排区42a之后,接着将影像排32b内属于图场I的所有图列34都依序压缩并写入压缩排区42b,再依照图场次序依序写入相对应的压缩排区42。依据上述步骤,影像排32a中图场索引为3的图列34被处理完后,编解码器封套模块24写入填充码48。编码器241才再处理影像排32b中对应于图场索引为3的图列34,如图5D、图5E以及图5F所示。请参照图6,其为根据本发明不同实施范例的步骤S106的流程图。根据本发明的一实施范例,步骤S106可包括以多个压缩窗分割图列34(步骤S1061);依序将每一个压缩窗压缩成一子比特流(步骤S1062);以及将对应于图列34的这些子比特流作为压缩比特流46(步骤S1063)。
接着请参照图7A,其为根据本发明一实施范例的影像解压缩的流程图。解码器242可由记忆体25接收影像比特流的至少一个压缩排区42 (步骤S121);再依据图场次序,将压缩排区42中的所有压缩比特流46解压缩回与此压缩排区42对应的影像排32的所有图列34(步骤S122)。电子装置20还可包括至少一应用模块28。应用模块28可通过记忆体总线26得到被解码器242解压缩的影像排32,并将其进行显示或各种数字影像处理(digital imageprocessing,DIP)。由于解码器242可提供单一的影像排32,因此应用模块28不需等到整个影像比特流都被解码就能开始运作。根据本发明的一实施范例,步骤S122可包括计算压缩排区42内分别对应图场的图列数;以及依据图场次序以及图列数,将压缩排区42中的所有压缩比特流46解压缩回与此压缩排区42对应的影像排32中的所有图列34。根据本发明的另一实施范例,当每一个图列34是以多个压缩窗被压缩时,步骤S122可包括依据图场次序以及图列数,将压缩比特流46中的子比特流解压缩回对应的压缩窗,作为与此压缩排区42对应的影像排32中的图列34。请参照图7B与图7C,其为根据本发明不同实施范例的影像解压缩的流程图。若解码器242将压缩比特流46都解压缩后发现有填充码48,可直接删除压缩排区42中的填充码48 (步骤S124)。若填充码48是对应于此压缩排区42的验证码,则解码器242可以先依据此压缩排区42中的填充码48的验证码,验证此压缩排区42中的压缩比特流46是否正确(步骤S123),再删除填充码48。综上所述,编码器以压缩倍率压缩影像的原始数据,而能确保压缩得到的影像比特流省下足够的储存空间与记忆体存取频宽。通过预留压缩排区以及附加填充码的技术,编码器能够不论图场顺序而将对应于相同影像排的所有图列写在同一个压缩排区之中。在仅需要将整个影像中的任何一个影像排解压缩时,并不需要将整个影像比特流解压缩,而是只要将与所需的影像排对应的压缩排区解码即可。因此固定压缩倍率的影像压缩方法解决了现有技术中难以兼顾图场顺序以及影像排边界的问题。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种固定压缩倍率的影像压缩方法,用以将一多图场感测器所产生的一影像的一原始数据以一压缩倍率压缩成一影像比特流,该影像包括多个图列,该多图场感测器将该些图列以一图场次序输出,每一该图列对应一图场索引,其特征在于,该固定压缩倍率的影像压缩方法包括 将该影像分割为多个影像排,其中每一该影像排包括至少一该图列; 依据该压缩倍率以及该原始数据的一比特流长度,于一记忆体内指定一存放空间; 依据该压缩倍率以及该原始数据的该比特流长度,将该存放空间分割为多个压缩排区,该些压缩排区分别对应于该些影像排; 纪录每一该压缩排区的起始位置为一目前终止位置; 依序接收该些图列; 将该些图列分别压缩成为多个压缩比特流;以及 依据该些图列的该些图场索引、该多图场感测器输出的该图场次序以及与该些图列对应的该些影像排组成的群组,以一写入程序依序将该些压缩比特流写入对应的该些压缩排区。
2.根据权利要求I所述的固定压缩倍率的影像压缩方法,其特征在于,该写入程序包括 接收一个该压缩比特流; 依据该压缩比特流对应的该图场以及该影像排,由对应的该压缩排区的该目前终止位置开始将该压缩比特流写入对应的该压缩排区;以及 当该压缩比特流对应的该图列不为所属的该影像排的最后一个该图列时,更新对应的该压缩排区的该目前终止位置。
3.根据权利要求2所述的固定压缩倍率的影像压缩方法,其特征在于,该写入程序还包括 当该压缩比特流对应的该图列为所属的该影像排的最后一个该图列时,在写入的该压缩比特流后以一填充码填满对应的该压缩排区。
4.一种影像解压缩方法,适用于将根据权利要求I所述的该影像比特流解码,其特征在于,该影像解压缩方法包括 接收该影像比特流的至少一该压缩排区;以及 依据该图场次序,将该压缩排区中的该些压缩比特流解压缩回与该压缩排区对应的该影像排中的该些图列。
5.根据权利要求4所述的影像解压缩方法,其特征在于,所述依据该图场次序,将该压缩排区中的该些压缩比特流解压缩回与该压缩排区对应的该影像排中的该些图列的步骤包括 计算该压缩排区内分别对应该些图场的多个图列数;以及 依据该图场次序以及该些图列数,将该压缩排区中的该些压缩比特流解压缩回与该压缩排区对应的该影像排中的该些图列。
6.一种电子装置,其特征在于,包括 一多图场感测器,以一图场次序产生一影像的一原始数据,其中该影像包括多个图列,每一该图列对应一图场索引;一记忆体;以及 一编解码器封套模块,该编解码器封套模块包括 至少一编码器,用以将该影像的该原始数据以一压缩倍率压缩成一影像比特流,该编码器执行下列步骤 将该影像分割为多个影像排,其中每一该影像排包括至少一该图列; 依据该压缩倍率以及该原始数据的一比特流长度,于该记忆体内指定一存放空间;依据该压缩倍率以及该原始数据的该比特流长度,将该存放空间分割为多个压缩排区,该些压缩排区分别对应于该些影像排; 纪录每一该压缩排区的起始位置为一目前终止位置; 依序接收该些图列; 将该些图列分别压缩成为多个压缩比特流;以及 依据该些图列的该些图场索引、该多图场感测器输出的该图场次序以及与该些图列对应的该些影像排组成的群组,以一写入程序依序将该些压缩比特流写入对应的该些压缩排区;以及 至少一解码器,用以将该影像比特流解码,该编码器执行下列步骤 接收该影像比特流的至少一该压缩排区;以及 依据该图场次序,将该压缩排区中的该些压缩比特流解压缩回与该压缩排区对应的该影像排中的该些图列。
7.根据权利要求6所述的电子装置,其特征在于,还包括 至少一记忆体总线,电性连接于该编解码器封套模块以及该记忆体之间;以及至少一应用模块,电性连接于该记忆体总线,并通过该记忆体总线存取已被该解码器解压缩的至少一该影像排。
8.根据权利要求6所述的电子装置,其特征在于,还包括 一芯片上随机存取记忆体,纪录该些压缩排区的该些目前终止位置。
9.根据权利要求6所述的电子装置,其特征在于,该编码器执行的该写入程序包括 接收一个该压缩比特流; 依据与压缩成该压缩比特流的该图列对应的该图场以及该影像排,由对应的该压缩排区的该目前终止位置开始将该压缩比特流写入对应的该压缩排区;以及 当该压缩比特流对应的该图列不为所属的该影像排的最后一个该图列时,更新对应的该压缩排区的该目前终止位置。
10.根据权利要求9所述的电子装置,其特征在于,该写入程序还包括 当该压缩比特流对应的该图列为所属的该影像排的最后一个该图列时,在写入的该压缩比特流后以一填充码填满对应的该压缩排区。
11.根据权利要求6所述的电子装置,其特征在于,该解码器执行的该依据该图场次序,将该压缩排区中的该些压缩比特流解压缩回与该压缩排区对应的该影像排中的该些图列的步骤包括 计算该压缩排区内分别对应该些图场的多个图列数;以及 依据该图场次序以及该些图列数,将该压缩排区中的该些压缩比特流解压缩回与该压缩排区对应的该影像排中的该些图列。
全文摘要
本发明公开一种固定压缩倍率的影像压缩方法、解压缩方法及其电子装置,电子装置包括多图场感测器、记忆体及编解码器封套模块,其中编解码器封套模块包括至少一编码器及解码器。编码器以下列步骤将影像的原始数据以压缩倍率压缩成影像比特流将影像分割为多个影像排;依据压缩倍率以及原始数据的比特流长度,于记忆体内指定存放空间;依据压缩倍率以及原始数据的比特流长度,将存放空间分割为多个压缩排区;纪录压缩排区的起始位置为目前终止位置;依序接收图列;将图列分别压缩成为压缩比特流;及依据图列的图场索引、输出的图场次序以及与图列对应的影像排组成的群组,依序将压缩比特流写入对应的压缩排区。
文档编号H04N5/341GK102868869SQ201110195750
公开日2013年1月9日 申请日期2011年7月6日 优先权日2011年7月6日
发明者潘佳河, 张哲玮, 涂晋豪, 陈水淋 申请人:华晶科技股份有限公司