CN1599403A - 逐进式结合图像专家组解码方法及相关装置 - Google Patents
逐进式结合图像专家组解码方法及相关装置 Download PDFInfo
- Publication number
- CN1599403A CN1599403A CN 03158187 CN03158187A CN1599403A CN 1599403 A CN1599403 A CN 1599403A CN 03158187 CN03158187 CN 03158187 CN 03158187 A CN03158187 A CN 03158187A CN 1599403 A CN1599403 A CN 1599403A
- Authority
- CN
- China
- Prior art keywords
- decoding
- pixel
- gradual
- layer
- historical record
- 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.)
- Granted
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种渐进式解码方法(ProgressiveDecoding 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 (22)
1.一种渐进式译码方法(Progressive Decoding Method),用来将一个位流数据译码为一个影像数据,该位流数据包含有多个扫描层(Scan),该渐进式解码方法包含有:
依照一预设顺序接收该多个扫描层;
在处理每一扫瞄层解码时,将该扫瞄层译码成为一部分译码像素(PartialDecoded Pixel)与一非零历史记录(Non-zero History);以及
依照该预设顺序累加由每一扫瞄层所产生的部分解码像素,并更新由每一扫瞄层所产生的非零历史记录。
2.如权利要求1所述的渐进式解码方法,其中,当该多个扫描层经该渐进式解码方法处理后,最后累加所得的该部分解码像素系为一完整解码像素(Integral Decoded Pixel),且该完整译码像素是该影像数据。
3.如权利要求1所述的渐进式解码方法,其中,该位流数据是一JPEG位流数据,该影像数据是一JPEG影像数据。
4.如权利要求1所述的渐进式解码方法,其另包含有:
在处理每一扫瞄层解码时,将该扫瞄层所产生的该部分解码像素降低取样频率(Down-sampling),以产生一部分降频解码像素;以及
依照该预设顺序累加由每一扫瞄层所产生的部分降频解码像素,并更新由每一扫瞄层所产生的非零历史记录。
5.一种渐进式译码方法(Progressive Decoding Method),用来将一个位流数据译码为一个影像数据,该位流数据包含有多个扫描层,其中每一扫描层依序经该渐进式译码方法处理后,最后产生该影像数据,该渐进式译码方法包含有:
(a)接收该扫描层;
(b)在进行步骤(a)后,判断该扫瞄层是否为该多个扫描层的第一个扫描层,若是,进行步骤(c),若否,则进行步骤(d);
(c)将该扫瞄层译码成为一部分译码像素与一非零历史记录;
(d依据一先前所产生的非零历史记录,将该扫瞄层译码成为一部分译码像素与一非零历史记录;以及
(e)在进行步骤(d)后,将该部分译码像素累加至一先前所产生的部分解码像素中,并利用该扫瞄层产生的该非零历史记录更新该先前所产生的非零历史记录。
6.如权利要求5所述的渐进式解码方法,其另包含有:
(f)在进行步骤(c)或(e)后,判断该扫瞄层是否为该多个扫描层的最后一个扫描层,若是,则停止操作该渐进式解码方法。
7.如权利要求5所述的渐进式解码方法,其被应用于一译码装置中,该译码装置包含一存储装置,该渐进式译码方法另包含有:
(g)在进行步骤(c)后,将该部分译码像素与该非零历史记录储存在该存储装置;
(h)在进行步骤(d)前,由该存储装置中读取该先前所产生的部分解码像素以及该先前所产生的非零历史记录;以及
(i)在进行步骤(e)后,将累加后的该部分解码像素与更新后的该非零历史记录储存到该存储装置。
8.如权利要求7所述的渐进式译码方法,其中该译码装置另包含一处理单元,电连接于该存储装置,用来接收该位流数据的多个扫描层,执行该渐进式译码方法,并输出该影像数据。
9.如权利要求5所述的渐进式解码方法,其中当该多个扫描层分别依序经该渐进式解码方法处理后,最后累加所得的该部分解码像素是一完整解码像素(Integral Decoded Pixel),且该完整解码像素系为该影像数据。
10.如权利要求5所述的渐进式解码方法,其中该位流数据是一JPEG位流数据,该影像数据系为一JPEG影像数据。
11.一种渐进式译码方法(Progressive Decoding Method),用来将一位流数据译码为一影像数据,该位流数据包含有多个扫描层,其中每一扫描层依序经该渐进式译码方法处理后,最后产生该影像数据,该渐进式译码方法包含有:
(a)接收该扫描层;
(b)在进行步骤(a)后,判断该扫瞄层是否是该多个扫描层的第一个扫描层,若是,进行步骤(c),若否,则进行步骤(e);
(c)将该扫瞄层译码成为一部分译码像素与一非零历史记录;
(d)在进行步骤(c)后,将该部分译码像素降低取样频率(Down-sampling),产生一部分降频解码像素;
(e)依据一先前所产生的非零历史记录,将该扫瞄层译码成为一部分译码像素与一非零历史记录;
(f)在进行步骤(e)后,将该部分译码像素降低取样频率,产生一部分降频解码像素;以及
(g)在进行步骤(f)后,将该部分降频解码像素累加至一先前所产生的部分降频解码像素中,并利用该扫瞄层产生的该非零历史记录更新该先前所产生的非零历史记录。
12.如权利要求11所述的渐进式解码方法,其另包含有:
(h)在进行步骤(d)或(g)后,判断该扫瞄层是否为该多个扫描层的最后一个扫描层,若是,则停止操作该渐进式解码方法。
13.如权利要求11所述的渐进式解码方法,其被应用于一译码装置中,该译码装置包含一存储装置,该渐进式译码方法另包含有:
(i)在进行步骤(d)后,将该部分降频解码像素与该非零历史记录储存至该存储装置;
(j)在进行步骤(e)前,由该存储装置中读取该先前所产生的部分降频解码像素以及该先前所产生的非零历史记录;以及
(k)在进行步骤(g)后,将累加后的该部分降频解码像素与更新后的该非零历史记录储存至该存储装置。
14.如权利要求13所述的渐进式译码方法,其中,该译码装置另包含一处理单元,电连接于该存储装置,用来接收该位流数据的多数个扫描层,执行该渐进式译码方法,并输出该影像数据。
15.如权利要求13所述的渐进式译码方法,其中,该译码装置另包含一滤波装置(Filtering Device),步骤(c)及步骤(f)是由操作该滤波装置来执行。
16.如权利要求11所述的渐进式解码方法,其中,当该多个扫描层分别依序经该渐进式解码方法处理后,最后累加所得的该部分解码像素是一完整解码像素(Integral Decoded Pixel),且该完整译码像素是该影像数据。
17.如权利要求11所述的渐进式解码方法,其中,该位流数据是一JPEG位流数据,该影像数据是一JPEG影像数据。
18.一种渐进式译码装置(Progressive Decoder),用来将一位流数据译码为一影像数据,该位流数据包含有多个扫描层(Scan),该渐进式译码装置包含有:
一处理单元,用来依序接收该多个扫描层,依序将每一扫瞄层译码成为一部分译码像素(Partial Decoded Pixel)与一非零历史记录(Non-zero History),并依序累加由每一扫瞄层所产生的部分解码像素、更新由每一扫瞄层所产生的非零历史记录,最后输出该影像数据;
一存储装置,用来依序储存累加后的该部分解码像素与更新后的该非零历史记录;以及
一内存管理单元,电连接于该存储装置及该处理单元,用来控制该存储装置的运作。
19.如权利要求18所述的渐进式译码装置,其另包含一滤波装置(Filtering Device),用来将每一扫瞄层译码所产生的部分译码像素降低取样频率(Down-sampling),以产生一对应的部分降频解码像素。
20.如权利要求18所述的渐进式译码装置,其另包含一显示单元,电连接于该内存管理单元,用来播放该影像数据。
21.如权利要求18所述的渐进式译码装置,其中,该处理单元是一数字信号处理单元(Digital Signal Processor,DSP)。
22.如权利要求18所述的渐进式译码装置,其中,该位流数据是一JPEG位流数据,该影像数据是一JPEG影像数据。
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 true CN1599403A (zh) | 2005-03-23 |
CN1307838C 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954813A (zh) * | 2014-09-15 | 2015-09-30 | 深圳市腾讯计算机系统有限公司 | 图片的传输方法、装置和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE512291C2 (sv) * | 1997-09-23 | 2000-02-28 | Ericsson Telefon Ab L M | Inbäddad DCT-baserad stillbildskodningsalgoritm |
US6141456A (en) * | 1997-12-31 | 2000-10-31 | Hitachi America, Ltd. | Methods and apparatus for combining downsampling and inverse discrete cosine transform operations |
TW535412B (en) * | 2001-11-09 | 2003-06-01 | Mediatek Inc | Progressive JPEG decoding device and method thereof |
-
2003
- 2003-09-16 CN CNB031581870A patent/CN1307838C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954813A (zh) * | 2014-09-15 | 2015-09-30 | 深圳市腾讯计算机系统有限公司 | 图片的传输方法、装置和系统 |
CN104954813B (zh) * | 2014-09-15 | 2017-06-06 | 深圳市腾讯计算机系统有限公司 | 图片的传输方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1307838C (zh) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100348049C (zh) | 用于渐进地变换并编码数字数据的系统和方法 | |
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 | |
KR101320534B1 (ko) | 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템 | |
CN101438591B (zh) | 灵活量化 | |
RU2503138C2 (ru) | Кодирование встраиваемой графики для изображений с разреженными гистограммами | |
CN1260971C (zh) | 图像编码设备与图像编码方法 | |
CN1592412A (zh) | 图象数据的自适应可变长度编码方法 | |
CN1675932A (zh) | 用于视频编码的采用后向自适应的速率失真优化数据分割系统和方法 | |
KR920704494A (ko) | 적합한 블럭크기로 영상을 압축하는 방법 및 시스템 | |
CN1126065C (zh) | 压缩和解压缩图象 | |
CN101031086A (zh) | 视频信息编码方法和视频信息解码方法 | |
CN1627824A (zh) | 位流控制的后处理过滤 | |
CN101076115A (zh) | 一种视频内容审核系统和方法 | |
CN1547708A (zh) | 以无损方式对数字图像和音频数据解码的系统和方法 | |
CN1777285A (zh) | 视讯/影像处理装置以及视讯/影像处理方法 | |
CN1825964A (zh) | 片上处理视频数据的方法和系统 | |
CN1650625A (zh) | 用于将参数值映像到码字索引的自适应方法和系统 | |
CN100348053C (zh) | 利用运动图像的电子水印的错误隐蔽方法 | |
CN102036068B (zh) | 图像编码方法及装置、图像解码方法及装置、程序 | |
EP2858370A1 (en) | Compact bitplane coding design for fixed bitrate image and video compression | |
CN1427630A (zh) | 对编码视频信号进行解码的方法 | |
Saidani et al. | An efficient hardware implementation of parallel EBCOT algorithm for JPEG 2000 | |
CN1599403A (zh) | 逐进式结合图像专家组解码方法及相关装置 | |
CN1778117A (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 |
Granted publication date: 20070328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |