资料流转换方法及其缓冲装置的制作方法

文档序号:6420066阅读:100来源:国知局
专利名称:资料流转换方法及其缓冲装置的制作方法
技术领域
本发明涉及一种资料流转换方法,特别是涉及一种能将以线为主(line-based)的资料流转换为以像块为主(block-based)的资料流,以利于后续的压缩处理,或者将以像块为主的资料流转换为以线为主的资料流,以利后续解压缩处理的资料流转换方法。
背景技术
JPEG与MPEG分别是静态影像压缩及动态影像压缩的国际标准,以MPEG为例,如图1所示,其资料结构皆是由一个或至少一个以上的序列(sequence)所构成,而在每个序列中则包含了复数个图像群组(picture of group,GOP)。
每个画面又可细分为数个像条(slice),像条中又可再分为数个巨集像块(MacroBlock,MB)。而巨集像块可由四个亮度(Luminance)像块及数个彩度(Chrominance)像块所组成,最后,每一像块(block)具有8×8位元组,并定义为MPEG的资料结构中一最小编码单位。
参阅图2,将一原始的影像资料以MPEG-1或MPEG-2格式进行压缩时,是先进行资料流的转换,以便将输入的资料流转变为以像块为主的资料流输出,如步骤201。接着如步骤202,对每一像块的像素资料施以离散余弦转换(DCT),即把像素资料由时域转换为频域,并去除掉人眼较不敏感的高频部分。如步骤203,再施以量化(quantization),使得许多经过离散余弦转换的DCT系数量化为零。
步骤204,接着再以交错扫描(zig-zag scan)来将量化后的DCT系数重新排列,将低频系数排列在前而高频系数排列在后。最后在经交错扫描过后的DCT系数中,将DC系数进行差动信号调变编码(DPCM),并对AC系数进行动态长度编码(RLE),最后再对二者进行可变长度编码(VLC),即完成MPEG-1/MPEG-2格式的压缩,如步骤205所示。JPEG的压缩过程亦类似于上述的作法,而当解压缩时,则是采取上述的相反作法。
参阅图3,由于JPEG与MPEG皆是以像块作为其基本的处理单位,因此在上述步骤201中,为了能将以线为主(line-based)的资料流转换为以像块为主(block-based)的资料流输出,一般是以一缓冲记忆体7与一缓冲控制器(buffer controller)8来进行。
当资料流受控制器8的控制而写入缓冲记忆体7时,会循序由左至右、由上至下逐条地写入缓冲记忆体7中,但是在取出资料时,由于必需以像块为基本单位,所以控制器8会以纵向取出资料(例如由左上角依次由上而下取出8次8个位元组输出,其输出资料流的内容即为第一个像块),由于此一特性,所以在缓冲记忆体7中的资料未完全填满前,无法取出资料,而若未将资料取出,则又无法写入资料。
因此,一般会将缓冲记忆体7划分为两个部分,一个部分用作资料输入、另一个部分则用作资料输出。如图3所示,当上半部71资料填满后也就是以像块为单位进行资料输出,而下半部72则同时进行资料写入的动作。待上半部71资料输出完毕后又有空间可以进行资料写入的动作,此时下半部72因资料写入完毕,所以又可进行资料读取的动作。然而,虽然此法能增加资料的输入与输出速度,但是却需要大量的缓冲记忆体7空间才能进行。

发明内容
本发明的目的在于提供一种可达到只需少量的缓冲记忆体空间,即可快速地进行资料流转换的方法及使用该方法的缓冲装置。
本发明的特征在于本发明缓冲装置包括一缓冲记忆体、一标记记忆体,以及一缓冲控制器。
该缓冲记忆体具有复数大小相等并供该输入资料流写入的区块,该等区块并依一写入次序被标记出复数写入标记位置。该标记记忆体是用来储存各该区块所对应的实体标记位置。该控制器是用以依据该写入次序及该等写入标记位置,计算出欲进行读取该等区块的一读取次序及一读取标记位置,以进一步由各该区块的实体标记位置读取出各该区块资料成为该输出资料流。
在一第一较佳实施例中,本发明依据上述架构,提供了一种资料流转换方法,是能将一以线为主的输入资料流转换为一以像块为主的输出资料流,该方法包括步骤A)将一缓冲记忆体依序标记出对应于复数个大小相同的区块的写入标记位置。步骤B)依据各该写入标记位置,循序写入资料至各该区块中。步骤C)依据各该写入标记位置及相对应的写入次序,计算出欲读取区块的读取标记位置及相对应的输出次序。步骤D)依据该输出次序,依序自对应于各该标记位置的区块读取资料,以输出该输出资料流。
其中,于该步骤C)中,是依据下列关系式On(t)=In((t%h)×w+t/h)计算出该读取标记位置,O(t)是该读取次序为t时的读取标记位置,该I(t)是该写入次序为t时的写入标记位置,h是该像块的高度,w是该缓冲记忆体总宽度所具有的该等区块数目,「t%h」是t除以h后所得到的余数,「t/h」是t除以h后所得到的商。
在一第二较佳实施例中,本发明也提供了一种能将一以像块为主的输入资料流转换为一以线为主的输出资料流,与该第一较佳实施例不同的是,于前述步骤C)中,是依据下列关系式On(t)=In((t%w)×h+t/w)计算出该读取标记位置,O(t)是该读取次序为t时的读取标记位置,该I(t)是该写入次序为t时的写入标记位置,h是该像块的高度,w是该缓冲记忆体总宽度所具有的该等区块数目,「t%w」是t除以w后所得的余数,「t/w」是t除以w后所得的商。
本发明的功效在于采取上述方法后,其相较于以往,只需增设一小容量的标记记忆体来储存各标记位置,即能以少量的缓冲记忆体空间,完成资料流的转换动作下面结合附图及实施例对本发明进行详细说明。


图1是一示意图,说明MPEG的资料结构。
图2是一示意图,说明一般MPEG的压缩步骤。
图3是一示意图,说明以往一缓冲记忆体与一缓冲控制器。
图4是一示意图,说明本发明缓冲装置的一较佳实施例。
图5~图10是动作示意图,说明本发明将以线为主的输入资料流转换为以像块为主的输出资料流时,一缓冲记忆体的读取与写入动作。
图11~图15是动作示意图,说明本发明将以像块为主的输入资料流转换为以线为主的输出资料流时,该缓冲记忆体的读取与写入动作。
具体实施例方式
实施例1参阅图4、5,本发明缓冲装置100的第一较佳实施例是能将以线为主的输入资料流转换为以像块为主的输出资料流,该较佳实施例包括一缓冲记忆体1、一标记记忆体2,以及一缓冲控制器3。
缓冲记忆体1是供储存由控制器3所接收的输入资料流,本例中,是以一具有640×8位元组空间的缓冲记忆体1来作说明,换句话说,缓冲记忆体1一次可以储存一640×8大小的影像,惟不应以此作为本发明的限制。如图5所示,缓冲记忆体1能被逻辑地分割出复数个大小相同的区块,本例中,每一区块的大小皆是8×1位元组,因此总共区分为640个区块。
每一区块的起始位置(address)并被加以标记,以方便后续的写入与读取动作,为方便说明起见,下文中特别将每一区块的标记位置,依据写入与读取状态的不同,分别表示为写入标记位置I(t)与读取标记位置O(t),事实上,同一区块只有一实体的标记位置。其中,t是指写入次序或者输出次序,依序为0、1、2、3…639。
本例中所欲取出的像块大小为一符合MPEG或JPEG规范的最小处理单位,所以为一8×8位元组的像块,因此本实施例中的每8个区块为一栏(column)恰构成一像块,并可由左至右共区分为80个像块。
特别是,上述写入标记位置I(t)与读取标记位置O(t)两者具有下列的特定关系式On(t)=In((t%h)×w+t/h)(1)其中,h是像块的高度,w是缓冲记忆体每一列所具有的区块数目,而「t%h」是指t除以h后所得的余数,「t/h」是指t除以h所得的商。利用式(1),可由写入标记位置及其写入次序,得知相对应的读取标记位置及其读取次序。
本例中,由于h=8、w=640/8=80,因此式(1)进一步成为On(t)=In((t%8)×80+t/8)(2)因此,第一个读取标记位置O(0)等于第一个写入标记位置I(0)O(0)=I(0)、第二个读取标记位置O(1)=I((1%8)×80+1/8)=I(80)、第三个读取标记位置O(2)=I((2%8)×80+1/8)=I(160)、O(3)=I(240)……,所以由式(2)知,依据O(0)、O(1)、O(2)…O(7)分别对应于I(0)、I(180)、I(160)…I(560)的顺序依序读取每个区块,就能够读取出第一个像块,而其余O(8)、O(9)…,则可再读取其余像块。
标记记忆体2是用来储存的各区块的标记位置,换句话说,由于本发明在同时进行读取与写入的动作,因此必需记录有I(0)~I(639)以及O(0)~O(639)各个读取与写入标记位置,所以标记记忆体2需要有2×210位元的空间大小。在标记记忆体2中,主要可以分为两组供储存标记的空间,第一组标记是用来供控制器3参照,以由特定的缓冲记忆体1地址进行第一次的写入与读取动作,第二组则是供控制器3以第一组为依据,计算出第二次写入与读取动作所指向的缓冲记忆体1地址,而待控制器3以第二组标记来进行第二次读取与写入时,第一组标记又可依据第二组标记被更新成第三次读取与写入时的标记地址,如此反复进行,即控制器3能一边参照标记记忆体2中的标记进行读取与写入,并一边进行下一次欲进行读取与写入地址的更新。
下文中为了便于说明,是将各标记直接标示于缓冲记忆体1中,事实上,标记只是储存在标记记忆体2中供控制器3作参照。
控制器3可以控制资料流,并参照于标记记忆体2中所储存的写入标记位置I(0)、I(1)…I(639),依序写入各区块,并在读取时会依据式(2)计算出所要的读取标记位置,再由标记记忆体2中撷取所要的读取标记位置,进一步执行读取的动作,以下分就写入与读取动作进行详细说明(1)第一次写入参阅图5,控制器3是参照标记记忆体2中所储存的写入标记位置,使输入资料流循序由I1(0)、I1(1)、I1(2)…的顺序写入影像资料。
(2)第一次读取参阅图6,本发明并不需要等待缓冲记忆体1的所有空间已填满资料后才进行资料的读取。可以但是不限于,例如在最后一排写入标记位置为I1(560)~I1(639)的区块尚未写入资料时,就可以开始进行资料的读取,即一边进行输入资料的写入动作并一边进行输出资料流的输出动作。
如前所述,读取的次序O1(0)、O1(1)…的各读取标记位置可以由控制器3经式(2)计算后所得,所以在控制器3参照标记记忆体2中所要的标记读取位置后,即由缓冲记忆体1中取出相对应的区块的资料O1(0)、O1(1)、O1(2)…即对应为写入标记位置为I1(0)、I1(80)、I1(160)…的区块
此外,在读取的同时,也持续进行I1(560)~I1(639)区块的写入,因此循序由O1(0)读取至O1(8)时并不会产生间断。
(3)第二次写入在第一次写入动作已届I1(639)时,如图7所示,此时也有若干区块已经过第一次读取,所以持续而来的输入资料流能再持续进行写入的动作而不间断。由下列式(3)
In+1(t)=On(t)(3)知其第二次写入次序与第一次所读取的次序相同,换句话说,经读取后的第一个区块O1(0)等于第二次写入时的第一个区块位置I2(0),也就是将O1(0)、O1(1)…区块依次写入新的资料为I2(0)、I2(1)…,如图8所示。
(4)第二次读取当第一次读取已届O1(639)区块时,如图9所示,即可以接续第二次读取第二次写入尚在进行,如图10所示,第二次读取的次序O2(0)、O2(1)…的各读取标记位置依然可以由控制器3经式(2)计算后所得,其对应于各标记写入位置I(0)、I(180)…,换句话说,虽然第二次写入时是以由上而下的次序循序写入,但是由于控制器3依然由式(2)计算出所需取出区块O2(0)、O2(1)…的相对应标记位置为I(0)、I(180)…,因此读取出的输出资料流依然是以像块为单位。
因此,上述写入、读取的动作反复进行,就能够持续地将资料流转换为像块输出,由于随着写入、读取的次数增加,其变化也渐复杂,所以在此不再详细说明。但是需知,由于区分出复数个大小相等的区块,再加以标记出各区块位置,因此即便输入资料流的资料被分别储存于不相邻近的区块中,控制器3也能进一步以式(2)连同式(3)一并计算出所需取出资料的标记位置,能够正确地输出所欲的资料流。
此外,举凡JPEG的静态影像压缩,是分别对红(R)、绿(G)、蓝(B)三原色来分别处理,因此通常具有三组相同的缓冲记忆体1,本例中为简化说明起见,只以单一缓冲记忆体1来作说明,但是熟习此技者应知本发明的技术也能推演至多组缓冲装置100并行的状态。
实施例2参阅图3与图11,本发明的第二较佳实施例其架构与第一较佳实施例相同,所以不再详细说明。惟本实施例是用来将以像块为主的输入资料流转换为以线为主的输出资料流,即本实施例是第一较佳实施例的逆工程,可以使用在例如MPEG、JPEG解压缩过程中的最后段。
本例中也是以一大小为640×8位元组的缓冲记忆体1来作说明,且每一区块也是区分为8×1个位元组。写入标记位置与读取标记位置两者间的特定关系式则变成下式On(t)=In((t%w)×h+t/w) (4)
其中,h是像块的高度,w是缓冲记忆体1一列所具有的区块数目,而「t%w」是指t除以w后所得的余数,「t/w」是指t除以w所得的商。即利用式(4),可由写入标记位置及其写入次序,得知相对应的读取标记位置及其读取次序。
由于w=80,h=8,所以式(4)成为On(t)=In((t%80)×8+t/80)(5)以下将说明写入资料的过程与利用式(5)读取资料的过程(1)第一次写入参阅图11,在进行写入时,由于输入资料流乃是以区块为主,所以控制器3是参照标记记忆体2中的写入标记位置,循序依I1(0)、I1(1)…I1(639)的顺序写入资料至各区块中。
(2)第一次读取参阅图12,可以但是不限于,在缓冲记忆体1最后一行(写入标记位置为I1(632)~I1(639))尚未写入资料时,就可以开始进行资料的读取。所读取的区块位置与顺序,可以由控制器3依(5)计算所得O1(0)=I1(0)、O1(1)=I1(8)、O1(2)=I1(16)……,所以控制器3参照标记记忆体2中所要的标记读取位置后,即能由特定的标记位置读取出各区块中的资料,而依序所取出的资料,恰构成一以线为主的输出资料流。
另一方面,写入I1(632)~I1(639)区块的动作也持续进行,直至最后区块I1(639)。
(3)第二次写入在第一次写入结束的同时,由于前述已被读取过的区块O1(0)、O1(1)…等又可被写入资料,因此依据前述式(3)In+1(t)=On(t)再写入资料,即依序由读取标记位置为O1(0)、O1(1)、O1(2)的区块写入资料,使其成为被第二次写入的区块位置I2(0)、I2(1)、I2(2)…,如图13所示。
(4)第二次读取参阅图14,当第一次读取已届O1(639)区块后,即可以接续第二次读取,如图15所示,第二次读取的次序O2(0)、O2(1)……的各读取标记位置可以由控制器3经式(5)计算后,由标记记忆体2中所得,其对应于各标记写入位置I2(0)、I2(8)、I2(16)……。因此,虽然在第二次写入时是以由左而右的区块循序写入,但是由于控制器3依然由式(2)计算出所需取出区块O2(0)、O2(1)…的相对应标记位置为I(0)、I(8)…,因此读取出的资料依然是由像块为主解码成以线为主资料流后输出。
因此,控制器依据上述式(3)与式(5),能知所欲写入的区块以及所欲读取的区块次序,即便所欲取出的区块已不相邻,亦能够正确地进行资料的读取与写入动作。
权利要求
1.一种资料流转换方法,能将一以线为主的输入资料流转换为一以像块为主的输出资料流,其特征在于该方法包括下列步骤a)将一缓冲记忆体依序标记出对应于复数个大小相同的区块的写入标记位置;b)依据各该写入标记位置,循序写入该输入资料流至各该区块中;c)依据各该写入标记位置及相对应的写入次序,计算出欲读取区块的读取标记位置及相对应的输出次序;及d)依据该输出次序,依序自对应于各该标记位置的区块读取资料,以输出该输出资料流。
2.如权利要求1所述方法,其特征在于该步骤C)是由下列的一第一特定关系式On(t)=In((t%h)×w+t/h)计算出该读取标记位置,O(t)是该读取次序为t时的读取标记位置,该I(t)是该写入次序为t时的写入标记位置,h是该像块的高度,w是该缓冲记忆体总宽度所具有的该等区块数目,「t%h」是t除以h后所得的余数,「t/h」是t除以h后所得的商。
3.如权利要求1所述的方法,其特征在于该第一特定关系式亦符合一第二特定关系式In+1(t)=On(t)即一经读取后的区块该读取的标记位置,为下一次写入时的该写入标记位置,且该经读取后的区块该读取的次序为下一次该写入的次序。
4.一种资料流转换方法,能将一以像块为主的输入资料流转换为一以线为主的输出资料流,其特征在于该方法包括下列步骤a)将一缓冲记忆体依序标记出对应于复数个大小相同区块的写入标记位置;b)依据各该写入标记位置,循序写入该输入资料流至各该区块中;c)依据各该写入标记位置及相对应的写入次序,计算出欲读取区块的读取标记位置及相对应的输出次序;及d)依据该输出次序,依序自对应于各该标记位置的区块读取资料,以输出该输出资料流。
5.如权利要求4所述的方法,其特征在于该步骤c)是由下列一第三特定关系式On(t)=In((t%w)×h+t/w)计算出该读取标记位置,O(t)是该读取次序为t时的读取标记位置,该I(t)是该写入次序为t时的写入标记位置,h是该像块的高度,w是该缓冲记忆体总宽度所具有的该等区块数目,「t%w」是t除以w后所得的余数,「t/w」是t除以w后所得的商。
6.如权利要求1所述的方法,其特征在于该第三特定关系式亦符合一第四特定关系式In+1(t)=On(t)即一经读取后的区块该读取的标记位置,为下一次写入时的该写入标记位置,且该经读取后的区块该读取的次序为下一次的该写入次序。
7.一种缓冲装置,用以转换一以线为主的输入资料流成为一以像块为主的输出资料流,包括一缓冲记忆体、一标记记忆体及一缓冲控制器,其特征在于该缓冲记忆体能被逻辑地分割出复数大小相等并供该输入资料流写入的区块,该等区块并依一写入次序被标记出复数写入标记位置;该标记记忆体用以储存各该区块所对应的实体标记位置;该缓冲控制器用以依据该写入次序及该等写入标记位置,计算出欲进行读取该等区块的一读取次序及一读取标记位置,以进一步由各该区块的实体标记位置读取出各该区块的资料成为该输出资料流。
8.如权利要求1所述的缓冲装置,其特征在于该缓冲控制器是依据下列一第一特定关系式On(t)=In((t%h)×w+t/h)计算出该读取标记位置,O(t)是该读取次序为t时的读取标记位置,该I(t)是该写入次序为t时的写入标记位置,h是该像块的高度,w是该缓冲记忆体总宽度所具有的该等区块数目,「t%h」是t除以h后所得到的余数,「t/h」是t除以h后所得到的商。
9.如权利要求8所述的缓冲装置,其特征在于该第一特定关系式亦符合一第二特定关系式In+1(t)=On(t)即一经读取后的区块该读取的标记位置,为下一次写入时的该写入标记位置,且该经读取后的区块该读取的次序为下一次该写入的次序。
10.一种缓冲装置,用以转换一以像块为主的输入资料流成为一以线为主的输出资料流,该缓冲装置包括一缓冲记忆体、一标记记忆体及一缓冲控制器,其特征在于该缓冲记忆体能被逻辑地分割出复数大小相等并供该输入资料流写入的区块,该等区块并依一写入次序被标记出复数写入标记位置;该标记记忆体用以储存各该区块所对应的实体标记位置;该缓冲控制器用以依据该写入次序及该等写入标记位置,计算出欲进行读取该等区块的一读取次序及一读取标记位置,以进一步由各该区块的实体标记位置读取出各该区块的资料成为该输出资料流。
11.如权利要求10所述的缓冲装置,其特征在于该缓冲控制器是依据下列一第三特定关系式On(t)=In((t%w)×h+t/w)计算出该读取标记位置,O(t)是该读取次序为t时的读取标记位置,该I(t)是该写入次序为t时的写入标记位置,h是该像块的高度,w是该缓冲记忆体总宽度所具有的该等区块数目,「t%w」是t除以w后所得到的余数,「t/w」是t除以w后所得到的商。
12.如权利要求11所述的缓冲装置,其特征在于该第三特定关系式亦符合一第四特定关系式In+1(t)=On(t)即一经读取后的区块该读取的标记位置,为下一次写入时的该写入标记位置,且该经读取后的区块该读取的次序为下一次的该写入次序。
全文摘要
本发明公开了一种资料流转换方法,是将一缓冲记忆体依序标记出对应于复数个大小相同的区块写入的标记位置,再依据各该写入标记位置,循序写入一输入资料流至各该区块中,接着依据各该写入标记位置及相对应的写入次序,计算出欲读取区块的读取标记位置及相对应的输出次序,最后依据该输出次序,依序自对应于各该标记位置的区块读取资料,以输出一输出资料流,因此能够以少量的缓冲记忆体空间来进行(以线为主/以像块为主)输入资料流与(以像块为主/以线为主)输出资料流间的转换。
文档编号G06F12/06GK1612111SQ20031010340
公开日2005年5月4日 申请日期2003年10月31日 优先权日2003年10月31日
发明者赵子毅, 吕志宏 申请人:原相科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1