CN1307838C - 渐进式结合图像专家组解码方法及相关装置 - Google Patents
渐进式结合图像专家组解码方法及相关装置 Download PDFInfo
- Publication number
- CN1307838C CN1307838C CNB031581870A CN03158187A CN1307838C CN 1307838 C CN1307838 C CN 1307838C CN B031581870 A CNB031581870 A CN B031581870A CN 03158187 A CN03158187 A CN 03158187A CN 1307838 C CN1307838 C CN 1307838C
- Authority
- CN
- China
- Prior art keywords
- decoding
- pixel
- gradual
- historical record
- decoding method
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明提供一种渐进式解码方法(Progressive Decoding Method),用来将一位流数据解码为一图像数据,该位流数据包含有多个扫描层(Scan),该渐进式解码方法包含有依照一个预设顺序接收该多个扫描层;在处理每一扫瞄层解码时,将该扫瞄层解码成为一个部分解码像素(Partial Decoded Pixel)与一非零历史记录(Non-zero History);以及依照该预设顺序累加由每一扫瞄层所产生的部分解码像素,并更新由每一扫瞄层所产生的非零历史记录。
Description
技术领域
本发明涉及一种渐进式解码方法及相关装置,特别涉及一种将每一扫瞄层进行解码以产生部分解码像素与相对应的非零历史记录,并累加每一次产生的部分解码像素及更新非零历史记录的方法,以降低系统对内存大小的需求。
背景技术
接合图像专家组(JOINT PHOTOGRAPHIC EXPERT GROUP,以下简称为JPEG)的标准可以有效率的压缩数字的灰阶或彩色图像,JPEG的规格包括四种不同的操作模式,而各个操作模式使用不同的编码与解码方式:循序式离散余弦转换(DISCRETE COSINE TRANSFORM,以下简称为DCT)为基(SEQUENTIAL DCT BASED)、渐进式DCT为基(PROGRESSIVE DCTBASED)、无损失性(LOSSLESS)、与阶层式(HIERARCHY)。目前网络最常用的静态图像压缩模式即为JPEG格式,但是利用JPEG格式编码完成的图像数据,仍具有一定的数据量,在网络环境中,其接收端必须完整地接收所有的数据量后才可以完全显示出编码端所传送的完整图像,在频宽不足或使用者过多导致网络塞车的情况下,图形时常只显示一小部份后就要再等非常久的时间才能再显示出来,使得使用者完全无法得知所接收图案的样貌,则无形中造成网络资源的浪费。因此,在上述各种JPEG不同的操作模式中,能依据网络速度高低先显示一粗略的图像,再让显示的图像随时间愈加精细的「渐进式DCT为基之技术」,成为现今最受重视的JPEG解码技术之一,如此一来,在此编解码技术下,使用者能快速的概略辨认出所接收的图案,减少无谓等待的时间。
在以渐进式DCT为基础的模式的编码程序中,一个取样区块是由8×8个取样(samples)所组成,当一个图像进行编码时,取样区块即依序由图像的左至右,由上至下一个个的馈入。请参阅图1,图1是一个已知JPEG部分编码程序的示意图,并同时显示一个JPEG编码器10。图1的JPEG编码器10中包含一个正向DCT转换器12、一个量化单元14(Quantizer)、一个第一存储缓冲区16、以及一个可变长度压缩编码单元18(Variable Length Encoder)。当一个取样区块经正向DCT转换器12执行一正向DCT(Forward DCT)转换操作,转换成64个数字DCT系数之后,会再经量化单元14的处理,最后再经可变长度压缩编码单元18进行一可变长度压缩编码(如霍夫曼编码(Huffmanencode))后,成为压缩的JPEG位流数据。对于以渐进式DCT为基础的模式的编码程序而言,由于整个图像是以多次扫瞄的方式进行编码,使得压缩过的JPEG位流数据包括多个扫瞄层(Scan)。达成多次扫瞄的方法是在量化单元14与可变长度压缩编码单元18之间设置该第一存储缓冲区16,其容量约相等于一个图像的大小,在一次扫瞄中,每个取样区块经正向DCT转换操作与量化后,所产生的一个数字DCT量化系数先暂存在此第一存储缓冲区16,等到所有取样区块皆已完成正向DCT转换操作和量化后,将第一存储缓冲区16中的量化DCT系数分成多次扫瞄,每次扫瞄由可变长度压缩编码单元18进行部份量化系数的编码,如此即成为一个扫瞄层的资料。由前述可知,以渐进式DCT为基础技术优点在于网络频宽不足的情况下,可将先收到的JPEG位流数据中的扫瞄层进行解码,并显像为一粗略的图像,收到愈多的扫瞄层则会使图像更精细,而不需等到所有JPEG位流数据的数据都到齐了才开始进行解码。
多次扫瞄的顺序有以下两种方法:频谱选择(SPECTRAL SELECTION)方法与连续近似(SUCCESSIVE APPROXIMATION)方法。频谱选择方法是在每次传送每个取样区块中的部分频带的数据,由于一般图像以低频居多,因此可以先送低频部分的图像数据再送高频部分的图像数据。而连续近似法则是在每次传送各个数字DCT系数的部分位时,先传送最高有效位(MOSTSIGNIFICANT BIT,MSB),最后送最低有效位(LEAST SIGNIFICANT BIT,LSB)。请参照图2,图2为上述一频谱选择方法的示意图。在(以渐进式DCT为基础的)JPEG标准下,一个图像在空间平面可区分为多个取样块(SAMPLING BLOCK),每一个取样块具有8×8取样大小,而在图2中,最上方的立方体20即为该图像的全部取样块的集合。其中由右至左的一排小方块(方块0至方块7)代表一个量化DCT系数,每个小方块代表一个位,意即方块0至方块7对应于位0至位7,最左边的位7是MSB,最右边的位0是LSB。每个正面的64个量化DCT系数(由上至下可定义为第0个量化DCT是数至第63个量化DCT系数,共64×8位)即为一个取样块的系数。在图2中,第一次扫瞄时,传送每个取样块的第0个量化DCT系数,定义为扫瞄层(0);第二次扫瞄时,传送每个取样块的第1与第2个量化DCT系数,定义为扫瞄层(1);第三次扫瞄时,传送每个取样块的第3、4与5个数位DCT系数,定义为扫瞄层(2),以此类推并依上述规则将图像传送完毕。由于取样块中的每个量化DCT系数所对应的频率不同,因此在每次扫瞄时将取样块中的不同的量化DCT系数送出,即可以达到频谱选择的目的。
请参阅图3,该图示出了连续近似方法的程序的示意图。与图2相同,最上方的立方体30为一图像全部取样块的集合30(等同于图2的全部取样块的集合20)。第一次扫瞄时,仍将每个取样块中的第0个量化DCT系数送出,视为扫瞄层(0),与图2实施例略为不同之处在于,在图3的连续近似方法的程序中,当执行第二次扫瞄时,将每个取样块中的其余的每个量化DCT系数的位7至位4送出,定义为扫瞄层(1);第三次扫瞄时,将每个取样块中的其余的每个量化DCT系数的位3送出,定义为扫瞄层(2),利用上述在不同的扫瞄时送出不同的位,以达到连续近似的目的。请注意,上述的连续近似方法与频谱选择方法可以依据使用者的需求混合使用,以呈现不同的渐进效果。
解码的过程即为编码的逆向过程,在了解上述是JPEG的编码方式后,相关的解码装置请见图4,图4为一(渐进式)JPEG解码器40中部分组件的功能方块图,亦显示了已知一JPEG部分解码程序。图4中包含一可变长度解码单元42(VLD)、一逆量化单元44(Inverse Quantizer)、一第二存储缓冲区46、以及一逆向DCT转换器48。概略而言,经编码后的JPEG位流数据(由图1的JPEG编码器10传送而来)经过可变长度解码单元42处理后,可将编码器传来的数据作一基本的解码操作,而在已知渐进式JPEG解码器40中,需有一个与图像大小相等的第二存储缓冲区46,以储存经可变长度解码单元42处理之后的量化DCT系数(quantized DCT coefficient)。当收集完(经可变长度解码单元42处理后的)JPEG位流中的一个扫瞄层的所有量化DCT系数之后,逆量化单元44及逆向DCT转换器48即分别进行逆量化及逆向DCT(inverseDCT,IDCT)操作,以得到解码像素(Pixel)并重建渐近式图像。然而,现今使用者所需处理的图像大小可能相当的大,例如在JPEG T.81规格书内即规定最大的图像为65535×65535个像素,如此一来,使得图4所示的已知渐进式JPEG解码器40无法提供需具有高达千兆位组数量级容量(Giga bytes)的第二存储缓冲区46,而无法进行图像解码。尤其是现今信息家电产品(InformationApplication,IA)应用已经非常广泛,其所能提供的内存比起现今的个人计算机又小了很多,因此,如何发展一种新式的渐进式JPEG解码方法及相关装置以突破图4中第二存储缓冲区46大小的限制,已经成为相关产业界重要的课题。
技术内容
因此,本发明的主要目的在于提供一种可节省内存资源之渐进式解码方法,以解决上述问题。
在本发明中,我们以现行渐进式JPEG标准及相关解码器中的架构为基础,直接将每一扫瞄层的数据进行解码以产生部分解码像素与相对应的非零历史记录,并将每一次产生的部分解码像素累加,并更新非零历史记录,等到所有扫瞄层都解码之后,最后输出的解码像素即成为最后完整之图像数据,如此一来,具有本发明技术特征的渐进式JPEG解码器完全不需要配置一个与图像大小相等的存储缓冲区,就能顺利进行渐进式JPEG解码,大大地降低系统对内存的大小的需求。
本发明的目的是提供一种渐进式解码方法(Progressive DecodingMethod),用来将一个位流数据解码为一个图像数据,该位流数据包含有多个扫描层(Scan)。该渐进式解码方法包含有:依照一个预设顺序接收该多个扫描层;在处理每一扫瞄层解码时,将该扫瞄层解码成为一个部分解码像素(PartialDecoded Pixel)与一个非零历史记录(Non-zero History);以及依照该预设顺序累加由每一扫瞄层所产生的部分解码像素,并更新由每一扫瞄层所产生的非零历史记录。
本发明的另一目的是提供一种渐进式解码方法(Progressive DecodingMethod),用来将一个位流数据解码为一个图像数据,该位流数据包含有多个扫描层,其中每一扫描层系依序经该渐进式解码方法处理后,最后产生该图像数据。该渐进式解码方法包含有:(a)接收该扫描层;(b)在进行步骤(a)后,判断该扫瞄层是否为该多个扫描层的第一个扫描层,若是,进行步骤(c),若否,则进行步骤(d);(c)将该扫瞄层解码成为一个部分解码像素与一个非零历史记录;(d)依据一先前所产生的非零历史记录,将该扫瞄层解码成为一部分解码像素与一非零历史记录;以及(e)在进行步骤(d)后,将该部分解码像素累加至一先前所产生的部分解码像素中,并利用该扫瞄层产生的该非零历史记录更新该先前所产生的非零历史记录。
本发明的又一目的是提供一种渐进式解码方法(Progressive DecodingMethod),用来将一个位流数据解码为一个图像数据,该位流数据包含有多个扫描层,其中每一扫描层系依序经该渐进式解码方法处理后,最后产生该图像数据。该渐进式解码方法包含有:(a)接收该扫描层;(b)在进行步骤(a)后,判断该扫瞄层是否为该多个扫描层的第一个扫描层,若是,进行步骤(c),若否,则进行步骤(e);(c)将该扫瞄层解码成为一个部分解码像素与一个非零历史记录;(d)在进行步骤(c)后,将该部分解码像素降低取样频率(Down-sampling),产生一部分降频解码像素;(e)依据一先前所产生的非零历史记录,将该扫瞄层解码成为一部分解码像素与一非零历史记录;(f)在进行步骤(e)后,将该部分解码像素降低取样频率,产生一部分降频解码像素;以及(g)在进行步骤(f)后,将该部分降频解码像素累加至一先前所产生的部分降频解码像素中,并利用该扫瞄层产生之该非零历史记录更新该先前所产生的非零历史记录。
本发明的再一目的是提供一种渐进式解码装置(ProgressiveDecoder),用来将一个位流数据解码为一个图像数据,该位流数据包含有多个扫描层(Scan)。该渐进式解码装置包含有一处理单元,用来依序接收该多个扫描层,依序将每一扫瞄层解码成为一部分解码像素(Partial Decoded Pixel)与一非零历史记录(Non-zero History),并依序累加由每一扫瞄层所产生的部分解码像素、更新由每一扫瞄层所产生的非零历史记录,最后输出该图像数据;一存储装置,用来依序储存累加后的该部分解码像素与更新后的该非零历史记录;以及一内存管理单元,电连接于该存储装置及该处理单元,用来控制该存储装置的运作。
附图简述
图1为一(渐进式)JPEG编码器的功能方块图并显示一JPEG部分编码程序。
图2为一频谱选择方法的示意图。
图3为一连续近似方法的示意图。
图4为一(渐进式)JPEG解码器的功能方块图并显示一JPEG部分解码程序。
图5为本发明一渐进式解码装置一实施例的功能方块图。
图6为本发明一方法实施例的流程图。
图7为本发明于实际实施时的详细方法实施例的流程图。
图8为本发明于实际实施时的另一详细方法实施例的流程图。
附图标识说明:
10 (渐进式)JPEG编 12 正向DCT转换器
码器
14 量化单元 16 第一存储缓冲区
18 可变长度压缩编 20、30 取样块的集合
码单元
40 (渐进式)JPEG解 42 可变长度解码单
码器 元
44 逆量化单元 46 第二存储缓冲区
48 逆向DCT转换器 50 渐进式解码装置
52 处理单元 54 存储装置
56 内存管理单元 58 显示单元
具体实施方式
本发明主要的技术特征之一是一种新式的渐进式(JPEG)解码方法(Progressive Decoding Method),主要可用来于相关内存资源受限的情况下,将一个位流数据解码为一个图像数据。延续图2与图3之图例,当图2与图3最上方的全部取样块的集合(20、30)被区分成多个扫描层(Scan)(扫描层(0)至扫描层(n))而传送至如图4的JPEG解码器40时,无论采用连续近似方法、频谱选择方法、甚至将两者任意混合使用的不同扫瞄层的划分方式,综观来看,这多个具有先后顺序的扫瞄层皆可视为上述的位流资料。此外,在本发明中,我们提出一种渐进式解码装置(Progressive Decoder),用来实现本发明的渐进式解码方法。请参阅图5,图5为本发明渐进式解码装置50一个实施例的功能方块图。渐进式解码装置50包含有一处理单元52、一存储装置54、以及一内存管理单元56。处理单元52可使用一数字信号处理单元(DigitalSignal Processor,DSP)完成,用来依序接收该多个扫描层(如图2及图3的扫描层(0)至扫描层(n)),并紧接着执行本发明的渐进式解码方法。简单来说,处理单元52可依序将接收到每一扫瞄层解码成为一部分解码像素(Partial DecodedPixel)与一非零历史记录(Non-zero History),接下来,依序累加由每一扫瞄层所产生的部分解码像素、并更新由每一扫瞄层所产生的非零历史记录,最后输出该图像数据。内存管理单元56电连接于处理单元52与存储装置54,用来控制存储装置54的运作,而存储装置54则可用来依序储存由处理单元52处理后,累加后的部分解码像素与更新后的非零历史记录。
在图5的处理单元52中所运作的本发明的渐近式JPEG解码过程,可用一8×8逆向离散余弦转换操作为例,作更清楚详细的说明。8×8逆向离散余弦转换是可对经过图4的可变长度解码单元42(VLD)及逆量化单元44后的解码DCT系数进行逆向转换过程。8×8逆向离散余弦转换程序可描述如下:
其中yh,v是解码像素,xk,l是解码DCT系数,
I是自然数,且I=1~7。
假设第M个扫瞄层的各取样块只包含部分的量化DCT系数,而且可能只包含这些系数的某些位,本发明的技术特征是直接将接收到的扫瞄层中所包含的部分量化DCT系数,经图4的逆量化单元44进行逆量化操作并得到第M个扫瞄层的部分解码DCT系数xk,l m。该逆量化操作是一简单的乘法运算将量化DCT系数乘以量化值(QUANTIZATION VALUE)以得到DCT系数,因此逆量化操作为一线性运算,由上可知,完整的解码DCT系数xk,l部分解码DCT系数的关系可以表示如下:
其中M与N皆为整数,xk,l m表示第M个扫瞄层的部分解码DCT系数,共有N个扫瞄层。将上述两式(式一与式二)结合可得:
因此,完整的解码像素yh,v与部分解码像素yh,v m的关系可以表示如下: 其中M与N皆为整数,yh,v m表示第M个扫瞄层的部分解码像素,共有N个扫瞄层。
由上可知,经过逆向离散余弦转换之后的解码像素yh,v可以经由累加各个扫瞄层解码的部分解码像素yh,v m而得。因此,每当图5的处理单元52接收到某一个扫瞄层的数据时,虽然该扫瞄层可能只包含各取样块的部分的量化DCT系数,而且可能只包含这些系数的某些位,本发明的技术特征是直接将接收到的扫瞄层中所包含的量化DCT系数的位,进行逆量化操作并得到部分解码DCT系数xk,l m,之后应用上述的式三,计算出该次扫瞄层的部分解码像素yh,v m。
若图5的存储装置54已储存有之前所接收到的所有扫瞄层已解码并累加的部分解码像素,例如,假设存储装置54已储存第0个到第(K-1)个扫瞄层的已解码并累加的部分解码像素
则处理单元52会通过内存管理单元56,将存于存储装置54中的部分解码像素读出,并与由本次扫瞄层所产生的部分解码像素(yh,v k)作相加,得到新的部分解码像素 最后,再由处理单元52通过内存管理单元56,将累加完成后的部分解码像素存回存储装置54,取代旧有的部分解码像素。
此外,由于(渐进式JPEG)位流数据中的各个扫瞄层是相依(Dependent)的,也就是当系统欲解码其中一个扫瞄层时,必须参照之前的扫瞄层的解码结果,所以,先前解码过程中的量化DCT解码系数理应需储存至图五5存储装置54中,以供后续扫瞄层解码时参考,请试回想在已知技术的实施例中所言,由于存储容量大小的限制,无法提供相当于整个图像大小的缓冲区以储存先前所解码的量化DCT系数。同时,必须参考之前的解码量化DCT系数的原因在于,JPEG ITU T.81规格中G.1.2.3章节规定了在霍夫曼解码阶段时,必须参考之前的扫瞄层中所解出的相同位置的量化DCT系数的非零历史,即判断该相同位置的量化DCT系数是否曾为非零。因此,本发明除了利用将解码得出的部分解码像素yh,v m以累加的方式置换入存储装置54中,以节省存储装置54所需的存储容量外,依据JPEG ITU T.81规格的规定,本发明只记录代表各个解码系数的非零历史,而不记录所有解码系数,即可供霍夫曼解码使用。如此一来,由于每个系数的非零历史只需用一位(bit)记录即可,因此于存储装置54中记录系数非零历史的存储空间不需太大,使得解码过程所需的存储容量大为降低。
图5渐进式解码装置50除包含对应于本发明主要技术特征的处理单元52、存储装置54以及内存管理单元56外,另包含一显示单元58。显示单元58电连接于内存管理单元56,用来依序播放解码完的图像数据。奠基于上述图5渐进式解码装置50的架构,本发明的渐进式解码方法的技术特征可概略归纳于图6,图6为本发明一方法实施例的流程图:
步骤100:开始;
步骤101:依照一预设顺序(可为图一之JPEG编码器10传送数据至图5渐进式解码装置50的顺序),使用渐进式解码装置50中的处理单元52接收JPEG位流数据的多个扫描层,每个扫描层的定义可依已知技术中的连续近似方法、频谱选择方法、或将两者混合使用而完成;
步骤102:当处理每一扫瞄层解码时,从存储装置54中取出之前所有扫瞄层已解码的部分解码像素与相对应的非零历史记录,并根据该非零历史记录,对该扫瞄层的数据进行解码,以产生本次扫瞄层的部分解码像素与非零历史记录,若所处理的该扫瞄层为JPEG位流数据的多个扫描层的第一个扫描层,则直接对该扫瞄层进行解码(无需由存储装置54中读取非零历史记录),产生本次扫瞄层的部分解码像素与非零历史记录;
步骤103:当处理本次扫瞄层时,将本次扫瞄层的部分解码像素与之前所有扫瞄层的部分解码像素作相加,并更新非零历史记录,再将相加完的部分解码像素与更新之后的非零历史记录储存回存储装置54中,当本次扫瞄层为JPEG位流数据的多个扫描层的第一个扫描层时,则直接将新产生的部分解码像素与非零历史记录储存至存储装置54中。若以JPEG位流数据中的每一个扫描层观之,则可视为处理单元52依照预设顺序,累加由每一扫瞄层所产生的部分解码像素,并更新由每一扫瞄层所产生的非零历史记录;
步骤104:当解码完JPEG位流数据中的所有扫瞄层之后,最后累加所得的部分解码像素即为一完整解码像素(Integral Decoded Pixel),而该完整解码像素即为最后完整的图像数据。处理单元52在解码过程中不断依序输出解码像素至显示单元58,播放每次解码完成的图像数据。
由上可知,因为图5的存储装置54只需储存累加后的部分解码像素、以及每个解码量化DCT系数对应的一位的非零历史记录,而无须储存所有的解码量化DCT系数,因此,应用本发明技术特征的渐进式解码装置50不需配置一个与图像大小相等的存储装置54即能进行渐进式JPEG解码操作。
为详细描述整个渐进式JPEG解码过程,本发明在图7揭露了另一详细实施例。承袭图6实施例中所揭露的技术特征,图7为本发明于实际实施时的一详细方法实施例的流程图:
步骤200:开始;
步骤201:使用图5的处理单元52接收JPEG位流数据的一扫描层;
步骤202:判断该扫瞄层是否为JPEG位流数据的多个扫描层的第一个扫描层,若是,进行步骤203,若否,则进行步骤204;
步骤203:对该扫瞄层进行解码,以产生本次扫瞄层的部分解码像素与非零历史记录,接着进行至步骤207;
步骤204:在处理该扫瞄层之前,图5的处理单元52通过内存管理单元56,从存储装置54中读取之前所有扫瞄层已解码的部分解码像素与相对应的非零历史记录,接着进行步骤205;
步骤205:根据先前的非零历史记录,对该扫瞄层的数据进行解码,以产生本次扫瞄层的部分解码像素与非零历史记录,并进行步骤206;
步骤206:将本次扫瞄层的部分解码像素与之前所有扫瞄层的部分解码像素作相加,并更新非零历史记录,进行步骤207;
步骤207:由步骤203跳至本步骤时,处理单元52会将新产生的部分解码像素与非零历史记录储存至存储装置54中;当由步骤206跳至本步骤时,处理单元52会将累加完的部分解码像素与更新之后的非零历史记录储存回存储装置54中,接着进行步骤208;
步骤208:判断该经解码后的扫瞄层是否为多个扫描层的最后一个扫描层,若是,则进行步骤209,若否,则回头进行步骤201,使用处理单元52接收JPEG位流数据的下一个扫描层;
步骤209:完成此JPEG位流数据的渐进式解码解码操作,并停止本次渐进式解码运作。当解码完JPEG位流数据中的所有扫瞄层之后,最后累加所得的部分解码像素即为完整解码像素,亦即为最后完整的图像数据。
此外,本发明的另一详细实施例是将部分解码像素降低取样频率(DOWN-SAMPLE),以成为部分降频解码像素,因此,在将每次产生的部分降频解码像素加以累加的时候,是只累加降低取样频率之后的部分降频解码像素。而本发明降低取样频率之方式,可以使用一滤波程序(FILTERINGPROCESS)完成。
请继续参阅图5的架构。为完成上述的滤波程序以降低取样频率,可于图5的处理单元52中设置具有滤波机制的硬件电路或加入相关的程序代码,即可使图5的渐进式解码装置50具有执行上述滤波程序的功能,以达成本发明的技术特征。该滤波程序在实际实施时,可使用一般的线性滤波程序(LINEAR FILTER PROCESS)达成。在加入降低取样频率的技术特征后,完整的降频解码像素yh,v与部分降频解码像素的关系可以表示如下:
其中,F为线性滤波器函数,F(yh,v m)表示第M个扫瞄层经过线性滤波的部分降频解码像素,一共有N个扫瞄层,M与N皆为整数。
奠基于图5的渐进式解码装置50及降低取样频率的技术特征,图8详细描述了本发明于实际实施时的另一详细步骤,图8为本发明在实际实施时的另一详细方法实施例的流程图:
步骤300:开始;
步骤301:使用处理单元52接收JPEG位流数据的一扫描层;
步骤302:判断该扫瞄层是否为JPEG位流数据的多个扫描层的第一个扫描层,若是,进行步骤303,若否,则进行步骤305;
步骤303:对该扫瞄层进行解码,以产生本次扫瞄层的部分解码像素与非零历史记录,接着进行至步骤304;
步骤304:对该部分解码像素降低取样频率,产生一部分降频解码像素,接着进行至步骤309;
步骤305:图5的处理单元52通过内存管理单元56,在处理该扫瞄层之前,从存储装置54中读取之前所有扫瞄层已解码的部分解码像素与相对应的非零历史记录,接着进行步骤306;
步骤306:根据先前的非零历史记录,对该扫瞄层的数据进行解码,以产生本次扫瞄层的部分解码像素与非零历史记录,并进行步骤307;
步骤307:对该部分解码像素降低取样频率,产生一部分降频解码像素,接着进行至步骤308;
步骤308:将本次扫瞄层的部分降频解码像素与之前所有扫瞄层的部分降频解码像素作相加,并更新非零历史记录,进行步骤309;
步骤309:由步骤304跳至本步骤时,处理单元52会将此新产生的部分降频解码像素与非零历史记录储存至存储装置54中;若由步骤308跳至本步骤时,处理单元52会将累加完的部分降频解码像素与更新之后的非零历史记录储存回存储装置54中,接着进行步骤310;
步骤310:判断该经解码后的扫瞄层是否为多个扫描层的最后一个扫描层,若是,则进行步骤311,若否,则回头进行步骤301,使用处理单元52接收JPEG位流数据的下一个扫描层;
步骤311:完成此JPEG位流数据的渐进式解码解码操作及相关的降低取样频率法。当解码完JPEG位流数据中的所有扫瞄层之后,最后累加所得的部分降频解码像素即为完整降频解码像素,亦即为最后完整的图像数据。
在图8实施例的技术特征下,当原始画面很大,亦即图像数据所占空间相当惊人的情况下,可使用此降低取样频率方式进一步节省运算量与节省内存空间。再者,在完整结合降低取样频率方式与本发明技术特征后,可实现预视缩图(Thumbnail)的功能,让使用者能快速的概略辨认出所欲接收的图案,快速的浏览图片。
此外,在图8实施例的步骤304及步骤307中,该降低取样频率的滤波程序是在解码得到部分解码像素之后才执行(解码程序分别描述于步骤303及步骤306)。由于逆向离散余弦转换运算是一线性运算,因此,在本发明图8实施例中,解码程序与滤波程序之间的顺序可以互换(步骤303与步骤304可互换;步骤306与步骤307可互换),如此一来,基于图8实施例的技术特征,本发明亦可将该降低取样频率的滤波程序提前至逆向离散余弦转换之前执行,也就是先对DCT系数xk,l m进行降低取样频率的滤波程序之后才对这些降频DCT系数进行相对应的逆向离散余弦转换。由于DCT系数先经过降低取样频率才执行逆向离散余弦转换,因此逆向离散余弦转换运算也可以跟着化简,例如原本8×8逆向离散余弦转换程序可因此化简为较少点数的逆向离散余弦转换程序,像是4×4逆向离散余弦转换程序。
若回头追溯至图4中的渐进式JPEG解码的基本流程,由于逆量化操作亦为一线性运算,因此,本发明亦可将该降低取样频率的滤波程序提前至逆量化操作之前执行,也就是先对量化DCT系数进行降低取样频率的滤波程序之后,才对这些降频量化DCT系数进行逆量化操作与逆向离散余弦转换。
本发明于现行渐进式JPEG标准下,提出一渐进式JPEG解码方法与一相关渐进式解码装置,直接将每一扫瞄层的数据进行解码以产生部分解码像素与相对应的非零历史记录,并将每一次产生的部分解码像素累加,并更新非零历史记录,等到所有扫瞄层都解码之后,最后输出的解码像素即成为最后完整之图像数据。在本发明的另一实施例中,我们更将降低取样频率的方式整合入本发明的技术特征中,如此一来,具有本发明的技术特征的渐进式JPEG解码器完全不需要配置一个与图像大小相等的存储缓冲区,就能顺利进行渐进式JPEG解码,大幅降低系统对内存的大小的需求。
上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (20)
1.一种渐进式解码方法,用来将一个位流数据解码为一个图像数据,该位流数据包含有多个扫描层,该渐进式解码方法包含有:
依照一预设顺序接收该多个扫描层;
对于每一扫瞄层,将该扫瞄层解码成为一部分解码像素与一本次非零历史记录,其中,该本次非零历史记录是表示该扫描层的一编码系数是否对应于一非零值;以及
依照该预设顺序累加由每一扫瞄层所产生的部分解码像素,并使用该本次非零历史记录来更新一非零历史记录。
2.如权利要求1所述的渐进式解码方法,其中,当所有的扫描层皆被处理后,累加依据该多个扫描层所产生的部分解码像素以产生多个完整解码像素,且该多个完整解码像素是形成该图像数据。
3.如权利要求1所述的渐进式解码方法,其中,该位流数据是一渐进式JPEG位流数据,该图像数据是一JPEG图像数据。
4.如权利要求1所述的渐进式解码方法,其另包含有:
对于每一扫瞄层,将该扫瞄层所产生的该部分解码像素降低取样频率,以产生一部分降频解码像素;以及
依照该预设顺序累加由每一扫瞄层所产生的部分降频解码像素,并使用该本次非零历史记录来更新该非零历史记录。
5.一种渐进式解码方法,用来将一个位流数据解码为一个图像数据,该位流数据包含有多个扫描层,其中每一扫描层经该渐进式解码方法处理后,即产生该图像数据,该渐进式解码方法包含有:
(a)接收一扫描层;
(b)判断该扫瞄层是否为该多个扫描层的第一个扫描层,若是,进行步骤
(c),若否,则进行步骤(d);
(c)将该扫瞄层解码成为一部分解码像素与一非零历史记录;
(d)将该扫描层解码成为一部分解码像素与一本次非零历史记录,其中,该本次非零历史记录是表示该扫描层的一编码系数是否对应于一非零值,进行步骤(e);以及
(e)将该部分解码像素累加至一先前累加产生的部分解码像素中,并利用该本次非零历史记录更新该非零历史记录。
6.如权利要求5所述的渐进式解码方法,其另包含有:
(f)在进行步骤(c)或(e)后,判断该扫瞄层是否为该多个扫描层的最后一个扫描层,若是,则停止操作该渐进式解码方法。
7.如权利要求5所述的渐进式解码方法,其被应用于一渐进式解码装置中,该渐进式解码装置包含一存储装置,该渐进式解码方法另包含有:
(g)在进行步骤(d)前,由该存储装置中读取该先前所累加产生的部分解码像素以及该先前所更新的非零历史记录;以及
(h)在进行步骤(e)后,将该新累加产生的部分解码像素以及该更新后的非零历史记录存储至该存储装置。
8.如权利要求7所述的渐进式解码方法,其中该解码装置另包含一处理单元,电连接于该存储装置,用来接收该位流数据的多个扫描层,执行该渐进式解码方法,并输出该图像数据。
9.如权利要求5所述的渐进式解码方法,其中,当所有的扫描层皆被处理后,累加依据该多个扫描层所产生的部分解码像素以产生多个完整解码像素,且该多个完整解码像素是形成该图像数据。
10.如权利要求5所述的渐进式解码方法,其中该位流数据是一渐进式JPEG位流数据,该图像数据是为一JPEG图像数据。
11.一种渐进式解码方法,用来将一位流数据解码为一图像数据,该位流数据包含有多个扫描层,其中每一扫描层经该渐进式解码方法处理后,最后产生该图像数据,该渐进式解码方法包含有:
(a)接收一扫描层;
(b)判断该扫瞄层是否是该多个扫描层的第一个扫描层,若是,进行步骤
(c),若否,则进行步骤(e);
(c)将该扫瞄层解码成为一部分解码像素与一非零历史记录;
(d)在进行步骤(c)后,将该部分解码像素降低取样频率,以产生一部分降频解码像素;
(e)将该扫描层解码成为一部分解码像素与一本次非零历史记录,其中,该本次非零历史记录是表示该扫描层的一编码系数是否对应于一非零值;
(f)在进行步骤(e)后,将该部分解码像素降低取样频率,以产生一部分降频解码像素;以及
(g)在进行步骤(f)后,将该部分降频解码像素累加至一先前累加所产生的部分降频解码像素中,并利用先前所产生的该本次非零历史记录更新该非零历史记录。
12.如权利要求11所述的渐进式解码方法,其另包含有:
(h)在进行步骤(d)与(g)后,判断该扫瞄层是否为该多个扫描层的最后一个扫描层,若是,则停止操作该渐进式解码方法。
13.如权利要求11所述的渐进式解码方法,其被应用于一渐进式解码装置中,该渐进式解码装置包含一存储装置,该渐进式解码方法另包含有:
(i)在进行步骤(e)前,由该存储装置中读取该先前所累加产生的部分降频解码像素以及该先前所更新的非零历史记录;以及
(j)在进行步骤(g)后,将该新累加产生的部分降频解码像素与更新后的该非零历史记录储存至该存储装置。
14.如权利要求13所述的渐进式解码方法,其中,该解码装置另包含一处理单元,电连接于该存储装置,用来接收该位流数据的多数个扫描层,执行该渐进式解码方法,并输出该图像数据。
15.如权利要求13所述的渐进式解码方法,其中,该解码装置另包含一滤波装置,步骤(c)及步骤(f)是由该滤波装置所执行。
16.如权利要求11所述的渐进式解码方法,其中,当所有的扫描层皆被处理后,累加依据该多个扫描层所产生的部分解码像素以产生多个完整解码像素,且该多个完整解码像素是形成该图像数据。
17.如权利要求11所述的渐进式解码方法,其中,该位流数据是一渐进式JPEG位流数据,该图像数据是一JPEG图像数据。
18.一种渐进式解码装置,用来将一位流数据解码为一图像数据,该位流数据包含有多个扫描层,该渐进式解码装置包含有:
一处理单元,用来依据一预设顺序接收该多个扫描层,依据该预设顺序将每一扫瞄层解码成为一部分解码像素与一本次非零历史记录,并依据该预设顺序累加由每一扫瞄层所产生的部分解码像素、每当一扫描层被解码时即依据该扫描层的本次非零历史记录来更新一非零历史记录,并输出该图像数据,其中,该本次非零历史记录是表示该扫描层的一编码系数是否对应于一非零值;
一存储装置,用来储存累加后的该部分解码像素与更新后的该非零历史记录;以及
一内存管理单元,电连接于该存储装置及该处理单元,用来控制该存储装置的运作。
19.如权利要求18所述的渐进式解码装置,其另包含一滤波装置,用来将每一扫瞄层解码所产生的部分解码像素降低取样频率,以产生一对应的部分降频解码像素。
20.如权利要求18所述的渐进式解码装置,其另包含一显示单元,电连接于该内存管理单元,用来播放该图像数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031581870A CN1307838C (zh) | 2003-09-16 | 2003-09-16 | 渐进式结合图像专家组解码方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031581870A CN1307838C (zh) | 2003-09-16 | 2003-09-16 | 渐进式结合图像专家组解码方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1599403A CN1599403A (zh) | 2005-03-23 |
CN1307838C true CN1307838C (zh) | 2007-03-28 |
Family
ID=34660411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031581870A Expired - Fee Related CN1307838C (zh) | 2003-09-16 | 2003-09-16 | 渐进式结合图像专家组解码方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1307838C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954813B (zh) * | 2014-09-15 | 2017-06-06 | 深圳市腾讯计算机系统有限公司 | 图片的传输方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1271494A (zh) * | 1997-09-23 | 2000-10-25 | 艾利森电话股份有限公司 | 嵌入的离散余弦变换式静止图像编码算法 |
US6141456A (en) * | 1997-12-31 | 2000-10-31 | Hitachi America, Ltd. | Methods and apparatus for combining downsampling and inverse discrete cosine transform operations |
US20030091240A1 (en) * | 2001-11-09 | 2003-05-15 | Ju Chi-Cheng | Method and apparatus for progressive JPEG image decoding |
-
2003
- 2003-09-16 CN CNB031581870A patent/CN1307838C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1271494A (zh) * | 1997-09-23 | 2000-10-25 | 艾利森电话股份有限公司 | 嵌入的离散余弦变换式静止图像编码算法 |
US6141456A (en) * | 1997-12-31 | 2000-10-31 | Hitachi America, Ltd. | Methods and apparatus for combining downsampling and inverse discrete cosine transform operations |
US20030091240A1 (en) * | 2001-11-09 | 2003-05-15 | Ju Chi-Cheng | Method and apparatus for progressive JPEG image decoding |
Also Published As
Publication number | Publication date |
---|---|
CN1599403A (zh) | 2005-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5966465A (en) | Compression/decompression using reversible embedded wavelets | |
US5881176A (en) | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser | |
Acharya et al. | JPEG2000 standard for image compression: concepts, algorithms and VLSI architectures | |
CN102396229B (zh) | 图像编码装置、方法以及图像解码装置、方法 | |
CN101438591B (zh) | 灵活量化 | |
US7016545B1 (en) | Reversible embedded wavelet system implementation | |
CN100463488C (zh) | 用于渐进地变换并编码数字数据的系统和方法 | |
JP2020174374A (ja) | デジタルイメージ再圧縮 | |
CN100481955C (zh) | 对视频数据进行内编码的方法和设备 | |
KR920704494A (ko) | 적합한 블럭크기로 영상을 압축하는 방법 및 시스템 | |
CN103581678B (zh) | 通过使用多个解码器信道来改良解码器性能的方法与系统 | |
KR940701621A (ko) | 적응블록크기 영상압축방법 및 시스템 | |
KR20080071482A (ko) | 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템 | |
JP2007267384A (ja) | 圧縮装置及び圧縮方法 | |
CN1726644B (zh) | 用于产生压缩数据的多种描述的设备和方法 | |
CN103581684A (zh) | 压缩编码和解码方法及装置 | |
CN103841424A (zh) | 随机存取存储器中压缩数据的系统及方法 | |
CN102036068B (zh) | 图像编码方法及装置、图像解码方法及装置、程序 | |
CN102238376B (zh) | 图像处理系统及方法 | |
US7123656B1 (en) | Systems and methods for video compression | |
US7313281B2 (en) | Method and related apparatus for JPEG decoding | |
CN1307838C (zh) | 渐进式结合图像专家组解码方法及相关装置 | |
CN100539703C (zh) | 压缩数据的方法和系统 | |
Taubman et al. | High throughput JPEG 2000 (HTJ2K): Algorithm, performance and potential | |
CN100391250C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070328 |