使用存储器存取的预测式图像译码方法

文档序号:7906791阅读:213来源:国知局
专利名称:使用存储器存取的预测式图像译码方法
技术领域
本发明涉及一种使用存储器存取的预测式图像译码方法,特别涉及一种使用至少一存储装置存取一视频图像中的多个预测元,并减少存储装置的使用量的方法。
背景技术
1988年MPEG(Motion Picture Experts Group运动图像专家组)成立。MPEG为ISO(国际标准组织)的一个工作小组,这个工作小组建立并推广了一些数字视频及音频的标准压缩格式,这些压缩格式如今已广泛地应用在全球数字化内容产品的制作上。自1988年成立以来,MPEG公布了数项重要的标准。在图像声音文件的格式中,运动图像压缩标准MPEG-2和MPEG-4是其中的佼佼者,两者在加译码的操作流程上,也多有相似之处。关于运动图像压缩标准MPEG-4的部分译码程序请参阅图1,图1为一译码器(Decoder)10中部分装置的功能方块图,同时亦显示了一视频数据的译码过程。图1的译码器10包含了一可变长度译码单元(Variable LengthDecoder)12、一反扫描单元14(Inverse Scanner)、一反DC/AC预测模块(InverseDC/AC Prediction Module)16、一反量化单元(Inverse Quantization Unit)18、一反离散余弦转换器(Inverse DCT)20、以及一移动补偿单元(MotionCompensation Unit)22。请见图1,经压缩后的视频(Video)数据(由一编码器(Encoder)传送而来)经过可变长度译码单元12,经一可变长度译码程序后,可将编码端传来的视频数据作一基本的译码操作,接下来经过反扫描单元14进行一反扫描程序,将一维的视频讯号重新还原为二维矩阵格式的视频讯号,此矩阵格式的视频讯号会再经过反量化单元18执行反量化程序后,还原成原来在频域的离散余弦转换(DCT)系数。接下来,产生的离散余弦转换系数随即输入至反离散余弦转换器20,产生许多非零值的输出,将图像在频域上的讯号转换成为在空间上的讯号,以将讯号回复成压缩前的数据流,最后由移动补偿单元22进行一移动补偿程序,将所收到的数据流作整合,并根据参考图像的信息、移动向量产生最后的解碼输出图像。
请注意,上面简述中未提及的反DC/AC预测模块16的相关功能,实为MPEG-4译码器10最重要的技术特征之一。请参阅图2,图2为一已知反DC/AC预测模块16的运作的示意图。图2承袭了图1的架构,说明了由反扫描单元14所产生的二维矩阵格式的视频讯号,会再经反DC/AC预测模块16进行一预测操作(Prediction Operation),进一步在二维空间上译码出整个视频图像的像素系数(Pixel Coefficients)。而在反DC/AC预测模块16的运作过程中,整个视频图像被区分为多个8*8像素大小的区块(Block),下一个将被解碼得出的新的区块的像素系数,则是依据之前已被译码完成的区块的部分像素系数,由预测选择单元24送至反DC/AC预测模块16,再加上由可变长度译码单元12计算出的差动值(Differential),两者合并完成。为了清楚说明图2的反DC/AC预测模块16及预测选择单元24在一视频图像上的运作情形,请先参阅图3。图3为在一视频图像30上的一宏区块(Macro-block)32中执行上述预测操作的示意图。在运动图像压缩标准MPEG中,最基本的处理单位是8*8像素大小的区块,而一个宏区块32具有16*16像素大小,包含了四个区块。由于运动图像压缩标准MPEG采用亮度(Luminance)及色度(Chrominance)的色彩表示格式,在本实施例中的宏区块32实际上指的是亮度宏区块(Luminance Macro-block)。如此一来,若水平和垂直的色度数据是以相当于亮度的取样频率一半的取样频率取样,则图3中该(16×16像素大小的)亮度宏区块的数据相当于一个8×8像素大小的色度区块(分别包含Cr和Cb)数据。
请继续参阅图3,宏区块32包含了一第一区块B、一第二区块C、一第三区块A、及一欲加以解碼的第四区块X。欲对第四区块X进行译码的工作前,会在邻近区块(第一区块B、第二区块C、第三区块A)中各自定义出多个预测元(Predictor),而此多个预测元依据在每一区块中的空间配置,又可区分成DC系数(Coefficient)与AC系数两种。如图3所示,第一区块B、第二区块C、与第三区块A各自包含一DC系数,分别为DCB、DCC、DCA(图中双斜线填满的格),而对第四区块X而言,在本次预测操作中,第二区块C中还包含了多个(七个)AC系数ACC(以二维矩阵格式表示ACC
[n],n为1到7的整数);同理,第三区块A包含了七个AC系数ACA(以二维矩阵格式表示ACA[n]
,n为1到7的整数)。由于第四区块X中的部分像素系数有两个预测元的来源由位于上方的第二区块C或位于左方的第三区块A,为了判断第四区块X的像素系数是由第二区块C或第三区块A中的预测元而得,必须经由一下述的判断式以决定出一移动向量(|DCA-DCB|<|DCB-DCC|)(式一)若式一成立,则图2的预测选择单元24会判断第四区块X中的部分像素系数由第二区块C而来,并决定出一第一移动向量M1,反之,若式一不成立,则判断第四区块X中的部分像素系数由第三区块A而来,并决定出一第二移动向量M2。在确定预测元的来源及移动向量之后,图2的反DC/AC预测模块16则将来源区块的DC系数加上一DC差动值,设为第四区块X的DC系数(DCX),也就是图3中所显示的第四区块X中的第一个像素系数;接着,图2的预测选择单元24会将来源区块的预测元的AC系数送至反DC/AC预测模块16,让AC系数加上一AC差动值,设为第四区块X的AC系数(ACX),且此AC系数位于第四区块X中的一第一存取列(Row)33或一第一存取行(Column)35。举例而言,若来源为上方的第二区块C,图2的反DC/AC预测模块1 6则会将第二区块C的DCC及ACC分别加上由可变长度译码单元12计算出的DC差动值及AC差动值,并将得出的结果值设为第四区块X中一第一存取列33的像素系数,再将整个第四区块X解碼。同理,若来源为左方的第三区块A,则第三区块A的DCA与ACA则会分别加上由可变长度译码单元12计算出的DC差动值及AC差动值,将得出的结果值设为第四区块X中一第一存取行35的像素系数,再将整个第四区块X解碼。
由上可知,MPGE-4的压缩标准会依据空间上相邻且已译码的区块的预测元,得出欲加以解碼的区块中的部分像素系数。对整个视频图像30而言,依序将每一个区块经过上述预测操作的处理后,则可产生整个视频图像30的像素系数(Pixel Coefficients)。此外,在译码的过程中,由于需要不断的决定出预测元以供欲加以译码的区块使用,则系统(如图1及图2所示的译码器10)中必须配置至少一存储装置以供存储多个预测元之用。为推演出完整的预测操作的程序,以下述图4的例子描述将一宏区块42译码的情形,同时也观察在过程中所需存储的预测元的数目。请参阅图4,其为已知技术一实施例的示意图。与图3实施例的定义略为不同,在本实施例中欲加以解碼的区块包含一第一区块X、一第二区块Y、一第三区块X’、及一第四区块Y’,并将此四区块合并视为一宏区块42。在此四区块的周围分别有一参考区块(Reference Block)B、一第一邻接区块A(Adjacent Block)、一第二邻接区块C、一第三邻接区块C’、与一第四邻接区块A’。此时,请回头同时参照图2的架构。承袭图3实施例中利用上方及左方两邻近区块以得出欲加以译码的区块的数据的特征,在处理第一区块X时,需要提供位于其左上方的参考区块B的一预测元(DCB)、位于其上方的第一邻接区块A的八个预测元(一个DCC及七个ACC
[1-7])、与位于其左方的第二邻接区块C的八个预测元(一个DCA及七个ACA[1-7]
),在图2中的预测选择单元24由DCB、DCC、及DCA判断出正确的预测元来源后,将其余的AC系数传送至图2中的反DC/AC预测模块16,与可变长度译码单元12送来的差动值结合,得出第一区块X的像素系数。意即,为完成第一区块X的译码,在系统中需设置一可存储相当于17个预测元(1+8+8=17)的容量的存储装置。在完成第一区块X的编码后,在处理第二区块Y前,由于与第二区块Y紧邻的是第一区块X和第三邻接区块C’,则需将第一区块X的最左行设为预测元,继续利用第一邻接区块A的DCC、第一区块X的DCX与ACX[1-7]
、以及第三邻接区块C’的DCC’与ACC’
[1-7]以决定出第二区块Y的部分像素系数。同理,第一邻接区块A的DCA、第一区块X的DCX与ACX
[1-7]、以及第四邻接区块A’的DCA’与ACA’[1-7]
可决定出第三区块X’的部分像素系数;第一区块X的DCX、第二区块Y的DCY与ACY
[1-7]、以及第三区块X’的DCX’与ACX’[1-7]
可决定出第四区块Y’的部分像素系数。
对于每一个宏区块42(包含图3所述的一(16×16像素大小的)亮度宏区块32、一个(8×8像素大小的)Cb色度区块、与一个(8×8像素大小的)Cr色度区块)而言,上述的预测操作与译码程序可归纳于图5,图5为一已知技术的实施例的流程图步骤100开始;步骤101在处理宏区块中的任一区块时(如图4的第一区块X)时,判断是否具有可执行预测操作的各个预测元。(例如,对于图4的第一区块X而言,所需的预测元包含区块的预测元DCB、第一邻接区块A的预测元DCC及ACC
[1-7]
、第二邻接区块C的预测元DCA与ACA[1-7]
),若有,则进行步骤103,若无,则进行步骤102;步骤102以一预定方式设定该欲加以译码的区块所需的预测元,如设定需的DC系数为一固定值,同时设定所需的AC系数为0,预设完成后进行步骤104;步骤103判断并确定预测元的来源及一相关的移动向量,得出该欲以译码的区块所需的预测元。于实际实施时,可由上述在系统中用来存储预测元的存储装置中,将所需的预测元读出,并进行步骤104;步骤104将多个预测元中的一DC系数加上由可变长度译码单元计算出的一DC差动值,产生该欲加以解碼的区块的DC系数;再将多个预测元中多个AC系数加上由可变长度译码单元计算出的AC差动值,产生该欲加以解碼的区块的AC系数,并置于该欲加以解碼的区块中的第一存取列或第一存取行;步骤105使用一记数器(Counter),将记数器存储器的值(整数)加一;步骤106判断记数器存储器的值是否大于4,若否,则回头进行步骤101,继续处理此宏区块中的另一区块,若记数器存储器的值大于4,则代表将此宏区块中的四个区块皆处理完成,则进行步骤107;步骤107执行预测操作与译码程序于一8×8像素大小的Cb色度区块与一8×8像素大小的Cr色度区块;步骤108结束此宏区块中的预测操作与译码程序,跳至下一个宏区块上述的已知技术除了已有部分规范在运动图像压缩标准MPEG-4中之外,许多相关方法及架构是披露于Haskell等人提出的US Patent No.6,005,622,“Video coder providing implicit or explicit prediction for image codingand intra coding of video”中。请注意,如图4实施例中所述,在预测操作与译码过程中,由于需要不断决定出预测元以供欲加以译码的区块使用,系统中必须配置至少一存储装置以供存储多个预测元之用。依据图4实施例所述的内容概略推算,宏观而言,在每一宏区块的任一区块中,位于该区块的最左行及最上列的像素系数都会被决定成预测元;而为了将一宏区块译码,系统中必须设置一个可存储相当于17*4个预测元的容量的存储装置。继续以此类推,若欲在二维空间上译码出一整个视频图像中全部的像素系数,所需存取的预测元的数量则相当可观(以一720×480像素大小的视频图像为例,约略会决定出30*45*17*4个预测元)。这也意味着,系统中设置的存储装置的容量必须要能存储如此巨大数量的预测元。只是,关于存储装置的容量的考虑,在主要以软件(Software)操作完成译码程序的已知技术(如已知专利USPatent No.6,005,622)中并不重要,然而,在今日产业界均欲以一硬件单元整合相关视频编/译码器的趋势下,在系统中,以嵌入芯片(On-chip)式的方法设置具有如此庞大容量的存储装置则变的不可行。

发明内容
因此本发明的主要目的在于提供一种使用至少一存储装置存取一视频图像中的多个预测元的方法,以解决上述问题。
在本发明中,我们以运动图像压缩标准MPEG-4及相关译码器中的架构为基础,在将一视频图像进行预测操作与译码程序时,将不断决定出的多个预测元以一具有本发明技术特征的存取方式存入至少一存储装置中,以减少存储装置所需的容量,并降低生产成本。在本发明使用存储器存取的预测式图像译码方法中,我们将视频图像依据空间位置区分成多个宏区块(Macro-block),以每一个宏区块作为预测操作的处理单元,以一预设的顺序完成每一个宏区块的预测式译码操作,并配合对应的存储器存取方法,实现本发明的技术特征。
本发明的目的是提供一种使用至少一存储装置存取一视频图像(Video Image)中的多个预测元(Predictor)的方法。该方法包含有将该视频图像于空间上产生该多个预测元;以及将该多个预测元存储在该至少一存储装置。
本发明的另一目的是提供一种预测式解碼方法(Predictive DecodingMethod),用来对一视频图像(Video Image)进行译码。该预测式解碼方法包含有将该视频图像依据空间位置区分成多个宏区块Macro-block);依据一预测操作(Prediction Operation),依序产生每一宏区块的多个垂直预测元(VerticalPredictor)、多个水平预测元(Horizontal Predictor)、以及多个对角预测元(Diagonal Predictor);以及依序将每一宏区块中的多个垂直预测元、多个水平预测元、以及多个对角预测元分别存储在至少一存储装置的一存取行(Column)、一存取列(Row)、以及该存取行与该存取列中。
本发明的又一目的是提供一种于一宏区块(Macro-block)中,将多个预测元(Predictor)存储在一第一存储装置及一第二存储装置的方法,该宏区块包含一第一区块(Block)、一第二区块、一第三区块、及一第四区块,该方法包含有(a)参考一第一邻接区块(Adjacent Block)或一第二邻接区块,产生该第一区块的多个预测元;(b)在进行步骤(a)后,将该第一区块的多个预测元存储至该第一存储装置;(c)在进行步骤(b)后,参考一第三邻接区块或该第一区块,产生该第二区块的多个预测元;(d)在进行步骤(c)后,将该第二区块的多个预测元存储至该第一存储装置;(e)在进行步骤(d)后,参考一第四邻接区块或该第一区块,产生该第三区块的多个预测元;(f)在进行步骤(e)后,将该第三区块的多个预测元存储至该第一存储装置及该第二存储装置中;(g)在进行步骤(f)后,参考该第二区块或该第三区块,产生该第四区块的多个预测元;以及(h)在进行步骤(g)后,将该第四区块的多个预测元存储至该第一存储装置及该第二存储装置中。


图1为一译码器中部分装置的功能方块图;图2为图1的一实施例的示意图;图3为于一视频图像上一宏区块中执行预测译码的示意图;图4为已知技术一实施例的示意图;图5为一已知技术的方法实施例的流程图;图6为一视频图像的空间配置图;图7为本发明一实施例的示意图;图8为本发明的一详细方法实施例的流程图;图9为图8的另一实施例的流程图;和图10为图7存储装置中的存取行及存取列的内容变化情形的列表。
附图符号说明10 译码器 12 可变长度译码单元14 反扫描单元 16 反DC/AC预测模块18 反量化单元 20 反离散余弦转换器22 移动补偿单元24 预测选择单元30、50 视频图像32、42、52 宏区块33 第一存取列 35 第一存取行51 宏区块列53 Cb色度区块
55Cr色度区块 56存储装置58第二存储装置具体实施方式
在本发明使用存储器存取的预测式图像译码方法中,我们将一视频图像依据空间位置区分成多个宏区块(Macro-block)52,将每一个16*16像素大小的宏区块52视为处理单元。请参阅图6,图6为一视频图像50的空间配置图。视频图像50是由多个宏区块列(Macro-block Row)51组成,每一宏区块列51包含多个宏区块52,一个宏区块52包含了四个8*8像素大小的区块。以一720×480像素大小的视频图像50为例,其包含了30个宏区块列51,每一宏区块列51包含了45个宏区块52。此外,图6中亦显示出一箭号MR1,代表了本发明处理宏区块52的顺序系依序(由左至右)处理在一宏区块列51中的每一个宏区块52,承袭图4的基本架构,在本实施例中所示的宏区块52可单指亮度宏区块52(Luminance Macro-block),而若水平和垂直的色度数据是以相当于亮度的取样频率一半的取样频率取样,则此一(16×16像素大小的)宏区块52可视为包含了一个(16×16像素大小的)亮度宏区块52和二个8×8像素大小的的色度区块(分别为Cr和Cb)53、55。
请参阅图7,图7为本发明一实施例的示意图,显示了本发明如何利用一存储装置进行预测元的存取,以降低相关存储装置所需容量的技术特征。类似于图4已知实施例中的定义,在本实施例中欲加以译码的宏区块52包含一第一区块X”、一第二区块Y”、一第三区块X、及一第四区块Y。在此四区块的周围分别有一参考区块(Reference Block)B’、一第一邻接区块A’(Adjacent Block)、一第二邻接区块C’、一第三邻接区块C”、与一第四邻接区块A”。请注意,在图7中,在欲加以译码的宏区块52的周围显示了一存储装置(Memory Device)56,存储装置56包含一存取行56C(Column)及一存取列56R(Row),用来存储在预测解碼过程中产生的预测元,为方便说明起见,存储装置56中每一存储单元(如图7存取行56C及存取列56R中一方格)可用来存储一预测元。依循运动图像压缩标准MPEG-4的预测译码规则,在处理欲加以解碼的区块时,系利用其上方及左方两邻近区块的预测元以得出欲加以译码的区块的数据。请见图7,在处理第一区块X”时,系统需要提供位于其左上方的参考区块B’的一预测元(DCB’)、位于其上方的第一邻接区块A’的八个预测元(一个DCC’及七个ACC’
[1-7])、与位于其左方的第二邻接区块C’的八个预测元(一个DCA’及七个ACA’[1-7]
)。在本发明中,我们将预测元在空间位置上区分成三类垂直预测元(VerticalPredictor)、水平预测元(Horizontal Predictor)、以及对角预测元(DiagonalPredictor),如此一来,第一邻接区块A’的八个预测元皆视为垂直预测元,第二邻接区块C’的八个预测元皆视为水平预测元,而参考区块B’的预测元DCB’则是本次操作下的对角预测元。也就是说,(存储装置56的)存取列56R的左边八个存储单元(定义为存取列56R
)需预先存有第二邻接区块C’的八个水平预测元,而存取行56C的上面八个存储单元(定义为存取行56C
)需预先存有第一邻接区块A’的八个垂直预测元,而存储装置56需另拨出一存储单元以存放参考区块B’的对角预测元DCB’。
请继续参阅图7,在系统由DCB’、DCC’、及DCA’判断出正确的预测元来源后,将其余的AC系数与相关的差动值结合(关于与差动值结合的运作程序可参照图2的已知实施例),得出第一区块X”的像素系数。接着,为完成宏区块52中其余区块的预测解碼,会将第一区块X”的最左行及最上列的像素系数都设为预测元,并存入存储装置56中。依据本发明的重要技术特征,新决定出的第一区块X”的(水平)预测元DCX”与ACX”
[1-7],会取代(原先存储在存取列56R
中的)第二邻接区块C’的八个水平预测元,存入存取列56R
中。同理,新决定出的第一区块X”的(垂直)预测元DCX”与ACX”[1-7]
会取代原先存储在存取行56C
中的第一邻接区块A’的八个垂直预测元,存入存取行56C
中。如此一来,在存储装置56中利用置换取代的方法,无须浪费过多的空间存储预测元。在完成第一区块X”的译码后,紧接着准备处理第二区块Y”。由于与第二区块Y”紧邻的是第一区块X”和第三邻接区块C”,则需先由DCC’、DCX”、及DCC”判断出正确的预测元来源,再利用第一区块X”的DCX”与ACX”[1-7]
或第三邻接区块C”的DCC”与ACC”
[1-7]以决定出第二区块Y”的部分像素系数,并决定出第二区块Y”。之后,新决定出的第二区块Y”的(水平)预测元DCY”与ACY”
[1-7],会取代(原先存储在存取列56R[8-15]中的)第三邻接区块C”的八个水平预测元,存入存取列56R[8-15]中。而新决定出的第二区块Y”的(垂直)预测元DCY”与ACY”[1-7]
,会取代于前一操作中刚刚置换入存取行56C
中的第一区块X”的DCX”与ACX”[1-7]
,元,存入存取行56C
中。
同理,在第一邻接区块A’的DCA’、第一区块X”的DCX”与ACX”
[1-7]、以及第四邻接区块A”的DCA”与ACA”[1-7]
决定出第三区块X的部分像素系数后,会决定出第三区块X的预测元DCX、(水平)预测元ACX
[1-7]、以及(垂直)预测元ACX[1-7]
,随后,新决定出的第三区块X的(垂直)预测元DCX与ACX[1-7]
,会取代原先存储在存取行56C[8-15]中的第四邻接区块A”的八个垂直预测元,存入存取行56C[8-15]中。而在第一区块X”的DCX”、第二区块Y”的DCY”与ACY”
[1-7]、以及第三区块X的DCX与ACX[1-7]
决定出第四区块Y的部分像素系数后,会决定出第四区块Y的预测元DCY、(水平)预测元ACY
[1-7]、以及(垂直)预测元ACY[1-7]
,而随后,新决定出的第四区块Y的(垂直)预测元DCY与ACY[1-7]
,会取代于前一操作中刚刚置换入存取行56C[8-15]中的第三区块X的DCX与ACX[1-7]
,存入存取行56C[8-15]中。
奠基于上述图7实施例,本发明的方法技术特征系可分别将垂直预测元、水平预测元、以及对角预测元存储至存储装置56的一存取行56C及存取列56R,并于存储装置56中利用置换取代的方式,以节省存储装置56的空间,而于实际实施时,存储装置56可以为一运作寄存器(Processing Register),甚至在硬件效能容许下,可用寄存器(Register)等存储装置完成。本发明使用一存储装置56存取一视频图像50中的多个预测元(Predictor),并执行预测译码的方法可归纳于下列步骤,并请见图8,图8为本发明的一详细方法实施例的流程图,强调处理一宏区块52时的情形步骤200开始;步骤201处理宏区块52中的第一区块时,参考第一邻接区块及第二邻接区块,产生第一区块的多个预测元(包含水平预测元、垂直预测元、及对角预测元),并进行步骤202。其中第一区块位于宏区块52的左上方,第一邻接区块位于第一区块的左方,第二邻接区块位于第一区块的上方;步骤202将第一区块的多个垂直预测元及对角预测元(共8个)存储在如图7存储装置56的一存取行56C,并将第一区块的多个水平预测元及对角预测元(共8个)存储在图7存储装置56的一存取列56R,并进行步骤203;而新决定出的第一区块的水平预测元及对角预测元会取代原先存储在存取列56R中的第二邻接区块的水平预测元及对角预测元(共8个),同时,新决定出的第一区块的垂直预测元及对角预测元会取代原先存储在存取行56C中的第一邻接区块的垂直预测元及对角预测元(共8个);步骤203处理宏区块52中的第二区块时,参考第三邻接区块及第一区块,产生第二区块的多个预测元,并进行步骤204。其中第二区块位于宏区块52的右上方,第三邻接区块位于第二区块的上方;步骤204将第二区块的多个垂直预测元及对角预测元(共8个)存储在存储装置56的一存取行56C,并将第二区块的多个水平预测元及对角预测元(共8个)存储在存储装置56的一存取列56R,并进行步骤205;而新决定出的第二区块的水平预测元及对角预测元会取代原先存储在存取列56R中的第三邻接区块的水平预测元及对角预测元(共8个),同时,新决定出的第二区块的垂直预测元及对角预测元会取代于步骤202中存储在存取行56C中的第一区块的垂直预测元及对角预测元(共8个);步骤205处理宏区块52中的第三区块时,参考第四邻接区块及第一区块,产生第三区块的多个预测元,并进行步骤206。其中第三区块位于宏区块52的左下方,第四邻接区块位于第三区块的左方;步骤206将第三区块的多个垂直预测元及对角预测元(共8个)存储在存储装置56的一存取行56C,并进行步骤207;新决定出的第三区块的垂直预测元及对角预测元(共8个)会取代原先存储在存取行56C中的第四邻接区块的垂直预测元及对角预测元(共8个);步骤207处理宏区块52中的第四区块时,参考第三区块及第二区块,产生第四区块的多个预测元,并进行步骤208。其中第四区块位于宏区块52的右下方;步骤208将第四区块的多个垂直预测元及对角预测元(共8个)存储在存储装置56的一存取行56C,并进行步骤209;新决定出的第四区块的垂直预测元及对角预测元(共8个)会取代于步骤206中存储在存取行56C中的第三区块的垂直预测元与对角预测元(共8个);步骤209执行预测操作与译码程序于一8×8像素大小的Cb色度区块与一8×8像素大小的Cr色度区块;步骤210结束此宏区块52中的预测操作与译码程序,跳至下一个宏区块。
依据图8的流程图,并回头对照图6的空间配置图,可清楚得知本发明实施例在处理每一宏区块52时的预设顺序(如箭号MR2所示)。因此,在处理每一宏区块52时,依照一Z字型的方向依序处理其中四个区块,而处理完此(16×16像素大小的)亮度宏区块52后,再处理对应的二个8×8像素大小的的色度区块(分别为Cr和Cb)。处理完一个宏区块52后,再跳至同一宏区块列中的下一个宏区块52,依序由左至右(如箭号MR1所示)地处理在一宏区块列中的每一个宏区块52。由上可知,宏区块的处理顺序是由左至右于一宏区块列51中进行,因此当系统在处理完一个宏区块52时,由于不须立即处理位于该宏区块52下方的另一宏区块52,如图7的第三区块X的(水平)预测元(DCX与ACX
[1-7])以及第四区块Y的(水平)预测元(DCY与ACY
[1-7])则无须存入以运作寄存器完成的存储装置56中,这也是为何在图8流程图的步骤中,并未出现如「将新决定出的第三区块的水平预测元取代原先存储在存取列56R中的第一区块的水平预测元」、「将新决定出的第四区块的水平预测元取代原先存储在存取列56R中的第二区块的水平预测元」等操作步骤。在本发明的技术特征中,还规划一第二存储装置58于图7中,不同于前述以运作寄存器完成的存储装置56,第二存储装置58可用一动态随机存取存储器(DRAM)、一静态随机存取存储器(SRAM)、或一寄存器完成,用来存储每一宏区块52中的(左下方)第三区块的水平预测元及(右下方)第四区块的水平预测元,等到处理完整个宏区块列中的所有宏区块52后,则可利用存于第二存储装置58中的预测元对下一个宏区块列中的宏区块52作预测解碼的操作。请见图9,图9为图8的另一实施例的流程图,加入第二存储装置的相关操作步骤211在图8的步骤206中,将第三区块的多个水平预测元及对角预测元存储在第二存储装置(如动态随机存取存储器DRAM)中;步骤212在图8的步骤208中,将第四区块的多个水平预测元及对角预测元存储在第二存储装置。
依照图7实施例的定义,我们可在图7存储装置56中,将存取行56C
、存取行56C[8-15]、存取列56R
、存取列56R[8-15]中各自内容被取代的情形加以列表整理于图10。概略而言,在将一宏区块52预测译码时,只需依靠存取行56C
、存取行56C[8-15]、存取列56R
、存取列56R[8-15]即可将所有的预测元加以存取。如此一来,在预测操作与解碼过程中,即使需要不断决定出预测元以供欲加以译码的宏区块使用,由于本发明将存储装置区分成一存取行、存取列来分别存取并置换存于其中的垂直预测元、水平预测元、以及对角预测元,使得本发明在将一宏区块预测译码时,无须如已知技术般将所有产生的预测元分别存储,而能以远少于实际产生的预测元数量的存储空间,完整实现预测译码的功能。再与已知的实施例作比较,在将一宏区块预测译码时,已知系统中必须提供一个具有个存储单元(如前所述,每一存储单元对应于一预测元)的存储空间,而本发明只须提供一个具有33个存储单元的存储空间即可(计算法是以图7实施例为例存取行56C
、存取行56C[8-15]、存取列56R
及存取列56R[8-15]共耗费4*8=32(存储单元),再加上存取一对角预测元(DC)所需的1存储单元),即使将上述另一种(第二)存储装置的容量计算进去,一宏区块也只需要具有16个存储单元的第二存储装置。
在本发明的技术特征下,系统中所需存储装置的容量大幅减少,对整个(如720×480像素大小的)视频图像为例,能节省下来的存储装置56的容量更是惊人,如此一来,不只减少了以运作寄存器完成的存储装置的容量需求,前述以动态随机存取存储器完成的第二存储装置亦只需占用很少的容量,便可使将如图7的存储装置56(及第二存储装置58)能以嵌入芯片(On-chip)式的方法,整合入硬件系统中,降低成本并加速以一单芯片整合相关视频编/译码器所有硬件组件的趋势。
上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明专利的涵盖范围。
权利要求
1.一种使用至少一存储装置存取一视频图像中的多个预测元的方法,该方法包含有将该视频图像在空间上产生该多个预测元;以及将该多个预测元存储在该至少一存储装置。
2.如权利要求1所述的方法,其中该多个预测元包含多个垂直预测元、多个水平预测元、以及多个对角预测元,该方法还包含有将该多个垂直预测元存储在该至少一存储装置的一存取行;将该多个水平预测元存储在该至少一存储装置的一存取列;以及将该多个对角预测元存储在该至少一存储装置的该存取行及该存取列中。
3.如权利要求1所述的方法,其中该至少一存储装置分别为一动态随机存取存储器、一静态随机存取存储器、一寄存器、或一运作寄存器。
4.如权利要求1所述的方法,其中该视频图像包含多个宏区块,每一宏区块包含四个区块。
5.如权利要求1所述的方法,其中该视频图像系符合新型运动图像压缩标准MPEG的规格。
6.一种预测式译码方法,用来对一视频图像进行译码,该预测式译码方法包含有将该视频图像依据空间位置区分成多个宏区块;依据一预测操作,依序产生每一宏区块的多个垂直预测元、多个水平预测元、以及多个对角预测元;以及依序将每一宏区块中的多个垂直预测元、多个水平预测元、以及多个对角预测元分别存储在至少一存储装置的一存取行、一存取列、以及该存取行与该存取列中。
7.如权利要求6项的预测式解碼方法,其中该预测操作是依据先前存储在该至少一存储装置中的多个垂直预测元、多个水平预测元、以及多个对角预测元,以产生每一宏区块的多个垂直预测元、多个水平预测元、以及多个对角预测元。
8.如权利要求6项的预测式解碼方法,其中每一宏区块包含四个区块,该预测式解碼方法还包含有在每一区块中,依据至少一邻接区块的多个预测元,产生该区块的多个图像系数;在每一宏区块中,依照一预设顺序产生该四区块的多个图像系数并决定出该四区块的多个预测元;以及在每一宏区块中,依照该预设顺序将该多个预测元存储至该至少一存储装置。
9.如权利要求8项的预测式解碼方法,其中于处理每一区块时,该邻接区块位于该区块的左方或上方。
10.如权利要求9项的预测式解碼方法,其中于每一宏区块的任一区块中,该多个预测元位于该区块的最左行及最上列,且该多个预测元包含一DC系数及多个AC系数。
11.如权利要求6项的预测式解碼方法,其中该至少一存储装置分别为一动态随机存取存储器、一静态随机存取存储器、一寄存器、或一运作寄存器。
12.如权利要求6项的预测式译码方法,其中该视频图像及该多个宏区块符合新型运动图像压缩标准MPEG的规格。
13.一种在一宏区块中,将多个预测元存储在一第一存储装置及一第二存储装置的方法,该宏区块包含一第一区块、一第二区块、一第三区块、及一第四区块,该方法包含有(a)参考一第一邻接区块或一第二邻接区块,产生该第一区块的多个预测元;(b)在进行步骤(a)后,将该第一区块的多个预测元存储至该第一存储装置;(c)在进行步骤(b)后,参考一第三邻接区块或该第一区块,产生该第二区块的多个预测元;(d)在进行步骤(c)后,将该第二区块的多个预测元存储至该第一存储装置;(e)在进行步骤(d)后,参考一第四邻接区块或该第一区块,产生该第三区块的多个预测元;(f)在进行步骤(e)后,将该第三区块的多个预测元存储至该第一存储装置及该第二存储装置中;(g)在进行步骤(f)后,参考该第二区块或该第三区块,产生该第四区块的多个预测元;以及(h)在进行步骤(g)后,将该第四区块的多个预测元存储至该第一存储装置及该第二存储装置中。
14.如权利要求13所述的方法,其中每一区块的多个预测元系包含多个垂直预测元、多个水平预测元、以及一对角预测元,该方法还包含(i)在步骤(b)中,将该第一区块的多个垂直预测元及对角预测元存储在该第一存储装置的一存取行,将该第一区块的多个水平预测元及对角预测元存储在该第一存储装置的一存取列(Row);(j)在步骤(d)中,将该第二区块的多个垂直预测元及对角预测元存储在该第一存储装置的该存取行,将该第二区块的多个水平预测元及对角预测元存储在该第一存储装置的该存取列;(k)在步骤(f)中,将该第三区块的多个垂直预测元及对角预测元存储在该第一存储装置的该存取行,将该第三区块的多个水平预测元及对角预测元存储在该第二存储装置;(l)在步骤(h)中,将该第四区块的多个垂直预测元及对角预测元存储在该第一存储装置的该存取行,将该第四区块的多个水平预测元及对角预测元存储在该第二存储装置。
15.如权利要求14所述的方法,其中在步骤(j)中,存储至该第一存储装置的该存取行中的该第二区块的多个垂直预测元及对角预测元,会取代存储在该存取行中的该第一区块的多个垂直预测元及对角预测元;在步骤(l)中,存储至该第一存储装置的该存取行中的该第四区块的多个垂直预测元及对角预测元,会取代存储在该存取行中的该第三区块的多个垂直预测元及对角预测元。
16.如权利要求14所述的方法,其中每一区块的多个预测元位于该区块的最左行及最上列;且每一区块的对角预测元为一DC系数,每一区块的多个垂直预测元及多个水平预测元分别为一AC系数。
17.如权利要求13所述的方法,其中该第一装置为一运作寄存器;该第二装置为一动态随机存取存储器、一静态随机存取存储器、或一寄存器。
18.如权利要求13所述的方法,其中该第一区块位于该宏区块的左上方,该第二区块位于该宏区块的右上方,该第三区块位于该宏区块的左下方,该第四区块位于该宏区块的右下方。
19.如权利要求13所述的方法,其中该第一邻接区块位于该第一区块的左方,该第二邻接区块位于该第一区块的上方,该第三邻接区块位于该第二区块的上方,该第四邻接区块位于该第三区块的左方。
20.如权利要求13所述的方法,其中该宏区块符合新型运动图像压缩标准MPEG的规格。
全文摘要
本发明提供一种使用至少一存储装置以存取一视频图像(Video Image)中的多个预测元(Predictor)的方法,该方法包含有将该视频图像在空间上产生该多个垂直预测元、水平预测元、及对角预测元;将该多个垂直预测元存储在该至少一存储装置的一存取行(Column);将该多个水平预测元存储在该至少一存储装置的一存取列(Row);以及将该多个对角预测元存储在该至少一存储装置的该存取行及该存取列中。
文档编号H04N7/32GK1585485SQ0315454
公开日2005年2月23日 申请日期2003年8月18日 优先权日2003年8月18日
发明者郭惠华, 林恭生 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1