压缩影像数据的方法及影像数据压缩系统与流程

文档序号:13391846阅读:584来源:国知局
压缩影像数据的方法及影像数据压缩系统与流程

本发明系有关于一种压缩影像数据的方法,特别是指一种能够控制压缩率的压缩影像数据的方法。



背景技术:

在先前技术中,为了有效利用硬件资源,在压缩画面数据时,常会将画面分割为多个影像区块,并以影像区块为单位来进行压缩。图1为先前技术的画面数据img0的示意图。在图1中,画面数据img0可分为多个影像区块b1至bn,而在对画面数据img0进行压缩时,可根据逐线扫描(rasterscan)的方式依序对影像区块b1至bn进行压缩,而压缩的方法则可为无损压缩法(losslesscompression)或有损压缩法(lossycompression)。

相较于无损压缩法,有损压缩法可能具有较高的压缩率,然而经过有损压缩法压缩后的文件,即便经过解压缩的程序,仍然无法还原成原始的文件,因此常会产生影像质量下降的问题。

为了保持影像的质量,影像区块b1至bn亦可选择以无损压缩法来进行压缩,如此一来,在对压缩后的影像区块b1至bn进行解压缩之后,仍然可以取得无失真的影像区块b1至bn。然而无损压缩法无法保证压缩率。换言之,由于影像区块b1至bn的影像特性可能彼此有所差异,因此在经过无损压缩法压缩后的影像区块b1至bn的压缩后数据量也可能彼此相异,而无法预先估计压缩后的数据量。

由于无损压缩法不能保证压缩率,因此在部分存储器有限的应用中即难以适用,然而若改以有损压缩法来进行压缩,又可能会导致影像质量不佳的问题,因此如何能够兼顾压缩率及影像质量即成为了一个有待解决的问题。



技术实现要素:

本发明的一实施例提供一种压缩影像数据的方法,压缩影像数据的方法包含根据第零累计目标数据量及第n累计目标数据量设定待压缩文件的n个待压缩区块的n个待压缩区块的每一区块的目标数据增量,在压缩第n个待压缩区块之前,计算第(n-1)个待压缩区块的第(n-1)累计压缩数据量,根据第零累计目标数据量及目标数据增量计算第(n-1)个待压缩区块的第(n-1)累计目标数据量,当第(n-1)累计压缩数据量与第(n-1)累计目标数据量的差小于第一预定临界值时,去除第n待压缩区块中多笔数据的最低的x个有效位以产生更新后的第n待压缩区块,及对更新后的第n待压缩区块进行压缩以产生第n已压缩区块。n及x为有限正整数,n为不大于n的有限正整数。

本发明的另一实施例提供一种影像数据压缩系统,影像数据压缩系统包含压缩模块及压缩率控制单元。压缩模块根据预定压缩算法压缩文件数据。压缩率控制单元耦接于压缩模块。压缩率控制单元包含压缩数据累计模块、目标数据累计模块及比较模块。在压缩第n个待压缩区块之前,压缩数据累计模块根据压缩模块压缩第(n-1)个待压缩区块后所产生的区块压缩数据量计算第(n-1)个待压缩区块的第(n-1)累计压缩数据量。目标数据累计模块根据第零累计目标数据量及每一待压缩区块的目标数据增量计算第(n-1)个待压缩区块的第(n-1)累计目标数据量。当第(n-1)累计压缩数据量与第(n-1)累计目标数据量的差小于第一预定临界值时,比较模块输出第一压缩控制信号至压缩模块。在接收到第一压缩控制信号时,压缩模块去除第n待压缩区块中多笔数据的最低的x个有效位以产生更新后的第n待压缩区块,并对更新后的第n待压缩区块进行压缩以产生第n已压缩区块。n及x为有限正整数,n为不大于n的有限正整数。

附图说明

图1为先前技术的画面数据的示意图。

图2为本发明一实施例的影像数据压缩系统的示意图。

图3为本发明一实施例的影像数据压缩系统的压缩率控制曲线的示意图。

图4为本发明另一实施例的压缩率控制曲线的示意图。

图5为本发明另一实施例的压缩率控制曲线的示意图。

图6为本发明一实施例的压缩影像数据的方法的流程图。

符号说明

img0画面数据

b1至bn影像区块

100影像数据压缩系统

110压缩模块

120压缩率控制单元

122压缩数据累计模块

124目标数据累计模块

126比较模块

sig1第一压缩控制信号

sig2第二压缩控制信号

rcc1、rcc2、rcc3压缩率控制曲线

n、n-1、m、m-1、n区块数量

t0、t’0、t”0第零累计目标数据量

tn第n累计目标数据量

tn-1第(n-1)累计目标数据量

tm-1第(m-1)累计目标数据量

δt目标数据增量

cn、c”n最终累计的压缩数据量

cn-1第(n-1)累计压缩数据量

cm-1第(m-1)累计压缩数据量

th1第一预定临界值

th2第二预定临界值

t’3、t”3第3累计目标数据量

c’3、c”3第3累计压缩数据量

600方法

s610至s690步骤

具体实施方式

图2为本发明一实施例的影像数据压缩系统100的示意图。影像数据压缩系统100包含压缩模块110及压缩率控制单元120。

压缩模块110可根据预定压缩算法来压缩影像数据。在本发明的较佳实施例中,压缩模块110可选择无失真的压缩算法来压缩影像数据,然而本发明并不限定压缩模块110须以无失真的压缩算法来压缩影像数据,而亦可选择可能造成失真的压缩算法来压缩影像数据。

压缩率控制单元120耦接于压缩模块110。压缩率控制单元120可包含压缩数据累计模块122、目标数据累计模块124及比较模块126。在本发明的部分实施例中,影像数据压缩系统100可应用于压缩图1的画面数据img0。当画面数据img0作为影像数据压缩系统100的待压缩影像时,压缩率控制单元120可根据用户设定或系统预设的压缩率来动态调整每一个待压缩的影像区块b1至bn的压缩率,以避免最终n个影像区块b1至bn的累计压缩数据量超过最终目标数据量。

图3为本发明一实施例的影像数据压缩系统100的压缩率控制曲线rcc1的示意图。图3的横轴为已压缩的影像区块的数量,纵轴为数据量,数据量的单位可例如为字节(byte)。当已压缩的影像区块为0时,表示尚未有任何影像区块被压缩,此时压缩率控制曲线rcc1所对应到的数据量即为第零累计目标数据量t0。当已压缩的影像区块为n时,表示画面数据img0中的所有影像区块b1至bn皆已压缩完毕,此时压缩率控制曲线rcc1所对应到的数据量即为第n累计目标数据量tn,亦即最终目标数据量。

在本发明的部分实施例中,若压缩率为压缩前总数据量对压缩后的总数据量的比值,则第n累计目标数据量tn可为待压缩文件的总数据量除以目标压缩率。举例来说,若画面数据img0的总数据量为1mb,且目标压缩率为1.25,则第n累计目标数据量tn即1mb除以1.25,亦即0.8mb。目标压缩率可由用户自行设定或亦可为系统预设。

为了确保最终n个影像区块b1至bn在经过压缩模块110压缩后的第n累计压缩数据量cn不会超过第n累计目标数据量tn,在对第n待压缩区块进行压缩之前,亦即例如对影像区块bn(n为不大于n的有限正整数)进行压缩之前,压缩数据累计模块122可先根据压缩模块110压缩第(n-1)个待压缩区块后所产生的区块压缩数据量计算第(n-1)个待压缩区块的第(n-1)累计压缩数据量cn-1,亦即影像区块b1至bn-1经压缩后的实际上累计压缩数据量,而比较模块126则可进一步比较第(n-1)累计压缩数据量cn-1与压缩率控制曲线rcc1中对应至第(n-1)个待压缩区块的第(n-1)累计目标数据量tn-1之间的差距。

第(n-1)累计目标数据量tn-1可透过目标数据累计模块124根据画面数据img0的n个待压缩区块,亦即影像区块b1至bn的每一区块的目标数据增量δt以及第零累计目标数据量t0计算取得,其中目标数据增量δt即为压缩率控制曲线rcc1的斜率在此情况下,第(n-1)累计目标数据量tn-1可以式1表示。

在本发明的部分实施例中,目标数据累计模块124并不限定直接以式1计算取得第(n-1)累计目标数据量tn-1,而亦可透过累加目标数据增量δt的方式来计算第(n-1)累计目标数据量tn-1,以减少乘法的运算量,达到简化硬件的功效。在图3中,由于第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差小于第一预定临界值th1,表示目前累计的压缩数据量cn-1已经逼近目前累计的目标数据量tn-1,因此若按照目前的压缩方式继续压缩第n待压缩区块,亦即影像区块bn,很可能会造成最终的第n累计压缩数据量cn大于第n累计目标数据量tn。

在此情况下,比较模块124可输出第一压缩控制信号sig1至压缩模块110,当压缩模块110接收到第一压缩控制信号时,即可去除第n待压缩区块,亦即影像区块bn中多笔数据的最低的x个有效位以产生更新后的第n待压缩区块,并对更新后的第n待压缩区块进行压缩以产生第n已压缩区块,再将第n已压缩区块储存至存储器。其中x可为用户自定义或系统预设的正整数,在本发明的部分实施例中,x可为1或2。由于最低有效位对数据的整体数值影响较小,因此不会对影像质量造成显著的影像。

如此一来,由于更新后的第n待压缩区块中每一笔数据的位数会较原第n待压缩区块中每一笔数据的位数来得少,因此对更新后的第n待压缩区块进行压缩后所产生的压缩后的数据量也会较对原第n待压缩区块直接进行压缩所产生的压缩后的数据量来得少,进而能够避免第n累计压缩数据量cn大于第n累计目标数据量tn,并达到控制压缩率的效果。

此外,在部分影像压缩的应用当中,影像区块中每笔数据的部分最低有效位可能为备用的参考位,而只有在部分特定的情况下才会对最终的影像质量造成影响。由于这类备用参考位的数值通常难以预测,因此常造成压缩上的困难,进而使得压缩率下降。在此情况下,透过去除影像区块bn中多笔数据的最低的x个有效位,不仅能够减少原本所需压缩的数据量,还能够增加影像区块bn中多笔数据之间彼此相关的程度,而有助于压缩模块110进行压缩,因此还能进一步提升压缩率。

然而,在本发明的其他实施例中,若第(n-1)累计压缩数据量与第(n-1)累计目标数据量的差大于第一预定临界值th1时,即表示目前累计的压缩数据量尚未逼近目前累计的目标数据量,因此仍可以维持影像的质量为优先考虑,此时比较模块126可不输出第一控制信号sig1至压缩模块110,亦或是输出与第一控制信号sig1相异的其他控制信号,使得压缩模块110能够对应地在不去除任何数据位的情况下,直接压缩第n待压缩区块。

此外,为了避免压缩模块110在一开始就去除影像区块b1中每笔数据的部分最低有效位,而不必要地降低影像质量,影像数据压缩系统100可将第零累计目标数据量t0设定为大于第一临界值th1。

由于影像数据压缩系统100能够根据第(n-1)个影像区块bn-1的第(n-1)累积压缩数据量cn-1与压缩率控制曲线rcc1对应至第(n-1)个影像区块bn-1的第(n-1)累计目标数据量tn-1的差值来调整影像区块bn的压缩率,并在前(n-1)个影像区块b1至bn-1的压缩率偏低的情况下,先去除待压缩影像区块bn中各笔数据的部分最低有效位,再进行压缩,因此影像数据压缩系统100能够适时地适应压缩率,同时也能兼顾影像质量。

再者,在本发明的部分实施例中,压缩率控制单元120还可根据目前累计压缩数据量与目标数据量的差异的程度大小,适应压缩模块110去除影像区块中各笔数据的最低有效位数。举例来说,在图3中,在对第m待压缩区块进行压缩之前,例如对影像区块bm(m为不大于n的有限正整数)进行压缩之前,压缩数据累计模块122可先计算第(m-1)个待压缩区块的第(m-1)累计压缩数据量cm-1,亦即影像区块b1至bm-1经压缩后的实际上累计压缩数据量,目标数据累计模块124则可根据第零累计目标数据量t0及目标数据增量δt计算压缩率控制曲线rcc1中对应至第(m-1)个待压缩区块的第(m-1)累计目标数据量tm-1,接着比较模块126则可比较第(m-1)累计压缩数据量cm-1与第(m-1)累计目标数据量tm-1之间的差。

在图3的实施例中,第(m-1)累计压缩数据量cm-1与第(m-1)累计目标数据量tm-1的差大于第一预定临界值th1但小于第二预定临界值th2,其中第二预定临界值th2大于第一预定临界值th1。也就是说,目前的第(m-1)累计压缩数据量cm-1虽然接近第(m-1)累计目标数据量tm-1,而可能造成最终的第n累计压缩数据量cn大于第n累计目标数据量tn,然而其情况并不严重,因此比较模块126可输出第二压缩控制信号sig2至压缩模块110,而当压缩模块110接收到第二压缩控制信号sig2时,压缩模块110即可去除第m待压缩区块,亦即影像区块bm中多笔数据的最低的y个有效位以产生更新后的第m待压缩区块,其中y为小于x的有限正整数。接着再对更新后的第m待压缩区块进行压缩以产生第m已压缩区块,并将第m已压缩区块储存至存储器。

举例来说,x可为2而y可为1,则当比较模块126可在目前累计压缩数据量与目前累计目标数据量的差大于第一预定临界值th1但小于第二预定临界值th2时,输出第二压缩控制信号sig2使得压缩模块110可先去除待压缩影像区块中每笔数据的最低的1个有效位再进行压缩,而当目前累计压缩数据量与目前累计目标数据量的差小于第一预定临界值th1时,比较模块126则可输出第一压缩控制信号sig1使得压缩模块110先去除待压缩影像区块中每笔数据的最低的2个有效位再进行压缩。

如此一来,影像数据压缩系统100即可根据先前数据压缩的情况,适时动态地决定是否去除待压缩区块中每笔数据的最低位,以及应去除最低位的个数,进而能够更准确地控制压缩率及影像质量。在本发明的部分实施例中,影像数据压缩系统100亦可根据系统需要,设定更多的预订临界值,以使影像数据压缩系统100能够更加细致地适应压缩率;本技术领域人员当知可将前述实施例以数字电路实作于压缩率控制单元120之中,于此不再赘述。

图4及图5为本发明的不同实施例的压缩率控制曲线rcc2及rcc3示意图。图4及图5的第n累计目标数据量tn相同,然而图4的第零累计目标数据量t’0小于图5的第零累计目标数据量t”0,因此在压缩画面数据img0的n个影像区块b1至bn时,若以图4的压缩率控制曲线rcc2为例,自影像区块b3开始,第3累计压缩数据量c’3与第3累计目标数据量t’3的差值即已小于第一临界值th1,因此压缩率控制单元120将去除影像区块b4中各笔数据的x个最低有效位,并且持续去除影像区块中各笔数据的x个最低有效位,而可能直到压缩影像区块b50时,才停止去除影像区块中各笔数据的部分最低有效位。

相较之下,若以图5的压缩率控制曲线rcc3为例,由于第零累计目标数据量t”0较大,因此第3累计压缩数据量c”3与第3累计目标数据量t”3的差值可保持在大于第一临界值th1的范围内,而影像数据压缩系统100甚至可在不去除任何区块数据的最低有效位的情况下,使最终的第n累计压缩数据量c”n仍小于到第n累计目标数据量tn。

也就是说,第零累计目标数据量的选择可能会影响到压缩率控制单元120去除待压缩区块数据的最低有效位的时机。由于在画面数据img0中,只有先被压缩的部分影像区块较不易压缩导致压缩率偏低,而后被压缩的部分影像区块仍可维持高压缩率,因此在此情况下,若选择较小的第零累计目标数据量t’0,则可能使得压缩率控制单元120不必要地去除待压缩区块数据的最低有效位,而导致不必要地降低影像质量。

由于每张画面数据的特性不同,因此在本发明的部分实施例中,压缩率控制单元120亦可根据先前压缩文件的压缩区块的压缩历史纪录或压缩趋势来更新第零累计目标数据量,如此一来,即可减少影像数据压缩系统100不必要地去除部分区块数据的最低有效位,进而避免影像质量不必要地降低;本技术领域人员当知可将前述实施例以数字电路实作于压缩率控制单元120之中,于此不再赘述。

图6为本发明一实施例的压缩影像数据的方法600的流程图。压缩影像数据的方法600可利用图3所示的压缩率控制曲线rcc1来压缩待压缩文件。方法600可包含但不限于步骤s610至s680。

s610:根据第零累计目标数据量t0及第n累计目标数据量tn设定待压缩文件的n个待压缩区块的每一区块的目标数据增量δt;

s620:在压缩第n个待压缩区块之前,计算第(n-1)个待压缩区块的第(n-1)累计压缩数据量cn-1;

s630:根据第零累计目标数据量t0及目标数据增量δt计算第(n-1)个待压缩区块的第(n-1)累计目标数据量tn-1;

s640:若第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差小于第一预定临界值th1,则执行步骤s650,否则执行步骤s660;

s650:去除第n待压缩区块中多笔数据的最低的x个有效位以产生更新后的第n待压缩区块;

s652:对更新后的第n待压缩区块进行压缩以产生第n已压缩区块,进入步骤s690;

s660:若第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差大于第一预定临界值th1但小于第二预定临界值th2,则执行步骤s670,否则执行步骤s680;

s670:去除第n待压缩区块中多笔数据的最低的y个有效位以产生更新后的第n待压缩区块;

s672:对更新后的第n待压缩区块进行压缩以产生第n已压缩区块,进入步骤s690;

s680:对第n待压缩区块进行压缩以产生第n已压缩区块;

s690:将第n已压缩区块储存于存储器。

方法600可应用于压缩画面数据img0,此时步骤s610中的待压缩文件即为画面数据img0,而待压缩文件的n个待压缩区块即为画面数据img0的n个影像区块b1至bn。然而本发明的压缩影像数据的方法及影像数据压缩系统并不限定于压缩画面数据,在其他实施例中,本发明的压缩影像数据的方法及影像数据压缩系统亦可应用于压缩其他类型的档案数据。

此外,在本发明的部分实施例中,方法600并不限于将第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差与第一预定临界值th1及第二预定临界值th2相比较,而还可包含更多的步骤以将第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差与其他的预定临界值相比较,并依此决定应去除的最低位数量,使得方法600能够更加细致的控制压缩率及影像质量。

而在部分实施例中,方法600亦可省略步骤s660至s672,而在步骤s640中,当第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差大于第一预定临界值th1时,直接执行步骤s680,而不再将第(n-1)累计压缩数据量cn-1与第(n-1)累计目标数据量tn-1的差值与第二预定临界值th2比较,如此亦可简化方法600的流程。

由于方法600可根据先前数据压缩的情况,适时动态地决定是否去除待压缩区块中每笔数据的最低位,以及应去除最低位的个数,因此能够准确地控制压缩率及影像质量。

综上所述,本发明的实施例所提供的压缩影像数据的方法及影像数据压缩系统可根据先前数据压缩的情况,适时动态地决定是否去除待压缩区块中每笔数据的最低位,以及应去除最低位的个数,因此能够较先前技术更准确地控制压缩率,同时也能够兼顾影像质量。

以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1