影像数据处理方法以及影像处理装置制造方法

文档序号:7995911阅读:217来源:国知局
影像数据处理方法以及影像处理装置制造方法
【专利摘要】本发明涉及影像数据处理方法以及影像处理装置,用以处理影像数据。该影像数据包含由数个大区块所构成的一第一画面。该处理方法包含有:提供一存储器;以及对该第一画面所包含的一第一大区块进行去区块处理后,将处理后的大区块写入该存储器,并使该处理后大区块内的多个像素数据储存于该存储器内位址连续的一第一储存空间。
【专利说明】影像数据处理方法以及影像处理装置
【技术领域】
[0001]本发明相关于影像数据处理方法以及装置,尤指在影像编码解码时,可以有效降低存储器存取次数的处理方法以及装置。
【背景技术】
[0002]多媒体数据压缩领域中受欢迎的压缩标准不少。然而在该领域中,ISO MPEG(Moving Picture Experts Groups)提出的影音压缩标准MPEG-2,可说是目前多媒体领域中的主流格式。
[0003]MPEG-2定义了三种画面压缩模式:1画面(Intra Coded Picture)、P画面(Predictive Coded Picture)、以及 B 画面(B1-directionally Predicted Pictures)。其中,I画面可以独立的编码与解码,并做为P以及B画面的参考画面来源。由于不需要参考其他画面,因此I画面无法得到消除时间上冗余(temporal redundancies)的好处,数据压缩率较差。在编码以及解码时,P画面可以将前面最近的I画面或是P画面,做为参考画面(reference picture)。在P画面中的大区块(macro block),如果能在参考画面找到相对应的类似大区块,则用动态补偿(motion compensation)方式做预测编码(predictivecoding),否则就已Intra模式做动态补偿编码。因为有加入消除时间上冗余的技术,所以P画面编码效率较高。B画面跟P画面类似,但是在编码以及解码时,B画面会使用到播放顺序上前面及后面两个方向的I画面或P画面,来做为参考画面。在三者当中,B画面的编码效率最高。图1举例I画面、P画面、跟B画面彼此的参考关系。
[0004]动态补偿可以针对画面内或画面外来做预测。在进行画面外的动态补偿时,P画面或B画面中的大区块,会在参考画面中寻找相对应的大区块。如同图2所示,在编码右边的P画面中的大区块12时,发现做为参考画面的I画面中的对应大区块14非常近似,因此大区块12的编码就采用预测编码,产生动态向量(motion vector)以及预测误差(predictionerror)。
[0005]每个编码后的大区块包含有动态补偿预测资讯(motion-compensatedprediction information),其包含有编码后的动态向量(motion vectors)以及预测误差(prediction errors)。大区块分成四种:画面内预测(intra)、向前预测(forward-predicted)、向后预测(backward-predicted)以及平均(averaged)大区块。I画面中只能有intra大区块;P画面中只能有intra和向前预测大区块;而B画面可以有所有四种大区块。除了画面内预测(Intra)大区块,其他大区块可泛称为non_intra大区块。
[0006]图3举例一画面,其由100个大区块所构成,排成10x10的矩阵。100个大区块分别标示为MB(i, j),其中i=0?9, j = O?9,如同图3所示。图4则显示在4:2:0的采样格式下的一个大区块MB (i,j)中的像素数据。一个大区块MB(i,j)由四个亮度(luminance)区块(Y block)以及两个色度(Chrominance block)区块(U and V blocks)所构成,每个区块大小为8x8个像素数据。四个Y区块16共有16x16个Y像素数据,分别表示为\ j (x, y),其中,x=0?15,y=0?15。U区块18与V区块20类似。以V区块20为例,其有8x8个V像素数据,分别表示为Vi,j(m,η),其中,m=0?7,n=0?7。
[0007]一个画面中所有的Y区块可构成一 Y帧(frame),所有U区块可构成一 U巾贞,所有V区块可构成一 V中贞。
[0008]参考画面需要存放在缓冲存储器中,以便在编码或是解码时被取用。直觉上的,参考画面可以用帧为单位,存放存储器中。图5显示已知技术中,Y帧在做为缓冲的动态存取存储器(DRAM)21中的存放排列方式。简单的说,Y帧中所有的Y像素数据Yu(x,y),是以光栅扫描(raster scan)方式,由左而右,由上而下,依序存放入相对应的存储器位址中。图5中总共有160x160个位元组(byte)(位址为ADs到ADS+160X160_1)。从起始位址ADs开始的160位元组,存放Y帧中第一行的160个Y像素数据YQ,Q(0,0)?Yq,9(0,15)。Y帧中第二行的160个Y像素数据Ycitl(LO)?YQ,9(1,15),则存放在起始位址ADS+160开始的160位元组。
[0009]图5中的排列方式,在进行动态补偿时,会非常不便。假定MPEG编码器/解码器具有一行缓冲存储器(line buffer memory),其大小有160个位元组,表示可以一次读取并暂存动态存取存储器中位址连续的160位元组。图6显示于参考画面22以及其中所找到的一对应大区块23。对应大区块23横跨在大区块MB (0,I)、MB (0,2)、MB (I,I)以及MB (1,2)上。如果参考画面22为一 Y帧,其依据图5的排列方式,存放在DRAM存储器21中,那行缓冲存储器至少需要对DRAM存储器21,进行16次的读取,才能够完整的得到对应大区块23中所有的16x16个Y像素数据。图6中的打点区域24显示,为了读取对应大区块23,行缓冲存储器所曾经读取的像素数据。因此,读取效率(定义为所要的数据对实际总读取数据的比例)等于(16x16)/(160xl6),非常的不理想。这样会降低编码与解码的效能。

【发明内容】

[0010]本发明的实施例提供一种处理方法,用以处理影像数据。该影像数据包含由数个大区块所构成的一第一画面。该处理方法包含有:提供一存储器;以及对该第一画面所包含的一第一大区块进行去区块处理后,将处理后的大区块写入该存储器,并使该处理后大区块内的多个像素数据储存于该存储器内位址连续的一第一储存空间。
[0011]本发明的实施例提供一种处理装置,用以处理影像数据,该影像数据包含由数个大区块所构成的一第一画面。该处理装置包含有一存储器以及一去区块滤波器。该去区块滤波器对该第一画面所包含的一第一大区块进行去区块处理后,将处理后的大区块写入该存储器,并使该处理后大区块内的多个像素的数据储存于该存储器内位址连续的一第一储存空间。
【专利附图】

【附图说明】
[0012]图1举例I画面、P画面、跟B画面彼此的参考关系。
[0013]图2显示P画面在I画面中找到一对应大区块。
[0014]图3举例由100个大区块所构成的一画面。
[0015]图4则显示在4:2:0的采样格式下的一个大区块MB(i,j)中的像素数据。
[0016]图5显示已知技术中,Y帧在做为缓冲的动态存取存储器(DRAM)中的存放排列方式。[0017]图6显示于一参考画面以及其中所找到的一对应大区块。
[0018]图7显示依据本发明所实施的一 MPEG解码器。
[0019]图8显示一 Y帧存放在DRAM存储器中的存放排列方式。
[0020]图9显示于一参考画面以及其中所找到的一对应大区块。
[0021]图10显示一参考画面中的U与V帧,在DRAM存储器中的存放排列方式。
[0022]图11显示一种马赛克扫描时,所定义的大区块。
[0023]主要元件符号说明
[0024]12大区块
[0025]14大区块
[0026]16Y 区块
[0027]18U 区块
[0028]20V 区块
[0029]21DRAM 存储器
[0030]22参考画面
[0031]23大区块
[0032]24打点区域
[0033]60MPEG 解码器
[0034]62可变长度解码器
[0035]64画面内预测器
[0036]66反量化器
[0037]68反离散余弦变换解码器
[0038]70去区块滤波器
[0039]72动态向量产生器
[0040]74参考大区块产生器
[0041]78动态补偿器
[0042]80直接存取存储器引擎
[0043]82存储器介面装置总线
[0044]84DRAM 存储器
[0045]86DRAM 存储器
[0046]90大区块
[0047]92打点区域
[0048]ADs起始位址
[0049]MB(i,j)大区块
[0050]SC。~SC99段落
[0051]SEC。~SEC99段落
[0052]Ui; j(m, η)U 像素数据
[0053]Vi; j(m, η)V 像素数据
[0054]Yi; j(x, y)Y 像素数据【具体实施方式】
[0055]图7显示依据本发明所实施的一 MPEG解码器60,其中有可变长度解码器(variable length decoder, VLD) 62、画面内预测器(intra prediction processor) 64>反量化器(inverse quantizer)66、反离散余弦变换(inverse discrete cosinetransformer)解码器68、去区块滤波器(de-blocking filter) 70、动态向量产生器(motion vector generator) 72、参考大区块产生器74、动态补偿器78、直接存取存储器(direct access memory, DMA)引擎(engine) 80、以及存储器介面装置(memory interfaceunit)总线 82。
[0056]在处理编码后intra大区块的数位影音数据流时,可变长度解码器62还原出未经可变长度编码的原始数据流。画面内预测器64依据原始数据流中的动态向量,从同一个画面内,已经解码但尚未去区块滤波的大区块中,产生参考大区块。反量化器66依据所选取的量化位阶(Quantization Scale),将原始数据流中的预测误差还原成DCT系数。反离散余弦变换解码器68以DCT系数产生出相对应误差大区块。这对应误差大区块将修改参考大区块,成为滤波前大区块。之后,去区块滤波器70收集滤波前大区块,且使一画面中大区块与大区块之间的边缘平滑。
[0057]在处理编码后的non-1ntra大区块的数位影音数据流时,可变长度解码器62 —样的还原出未经可变长度编码的原始数据流。反量化器68依据所选取的量化位阶,将原始数据流中的预测误差还原成DCT系数。反离散余弦变换解码器68以DCT系数产生出相对应误差大区块。平行地,动态向量产生器72依据原始数据流,产生动态向量。参考大区块产生器74依据动态向量,透过DMA引擎80,提出读取DRAM存储器的需求;也就是从做为缓冲的DRAM存储器中所记忆的一个或是两个参考画面里,读取出相对应的一个或是两个对应大区块。如果有两个对应大区块,动态补偿器78整并两者为一。反离散余弦变换解码器68所产生的误差大区块,将与对应大区块汇整,成为滤波前大区块,被去区块滤波器70所收集。去区块滤波器70使一画面中大区块与大区块之间的边缘平滑。
[0058]如果目前MPEG解码器60处理的是一 B画面,去区块滤波器70将所有的大区块输出为视讯。如果目前处理的是I或是P画面,去区块滤波器70将提供马赛克扫描的排列规则(稍后将解释),透过DMA引擎80的协助,将所有的大区块送到MIU总线82,存入相对应的DRAM存储器。
[0059]以下将以图3中的画面,以及图4中的像素数据,做为一个例子,来解释在本发明的一实施例中,参考画面是如何排列而存放在DRAM存储器。
[0060]图8显示图3中的画面中的一 Y帧,存放在DRAM存储器84中的存放排列方式。位址上,DRAM存储器84可以分成许多连续的段落SECtl?SEC99在图8中,位址ADs到位址ADs+162-1的16x16个位元组为段落SEC00接着的另16x16个位元组(位址ADs+16x16到ADs+2x162-1)为段落SEQ。以此类推。
[0061]图7中的去区块滤波器70以马赛克扫描(tile scan)的方式,依序将一参考画面中大区块的Y像素数据,存放入DRAM存储器84中的段落SECtl?SEC99。因此,如同图8所示,大区块ΜΒ(0,0)中所有的Y像素数据Y。,。(O,0)?Y。,。(15,15),共16x16个Y像素数据,存放在段落SEC。。大区块MB(0,1)中的16x16个Y像素数据,则存放在段落SEQ。大区块MB (O, 9)中的Y像素数据存放在段落SEC9。大区块MB (I,0)中的Y像素数据,紧跟在大区块MB (0,9)的Y像素数据之后,存放在段落SECltl。段落SEC99存放最右下角的大区块MB (9,9)中的16x16个Y像素数据。
[0062]以大区块ΜΒ(0,0)为例,其中的Y像素数据,是以光栅扫描(raster scan)方式,由左而右,由上而下,依序存放入段落SECO中相对应存储器。所以Y像素数据Ytltl(Oj)~Y0,ο (0,15)存放在位址ADs开始连续的16个位元组DRAM存储器,而Y像素数据Ytl,C1(LO)~YaQ(l,15)存放的位址紧接在后。因此,一个Y像素数据Yi, j(m,η)存放入DRAM存储器84中的存储器位址可以用下的公式(I)表示
[0063]ADs+J *M*N*i+M*N* j+N* m+n----------(I)
[0064]其中,J为在一 Y帧中,位于同一行的大区块总数量…是一大区块中,Y像素数据的总行数;N是一大区块中,同一行的Y像素数据总数量。在第8图的例子中,J=10,M=N=16。所以依据公式(I),去区块滤波器70可以将一 Y帧中的所有的Y像素数据,存放入相对应的存储器位址。
[0065]图8仅为本发明的一实施例,并非用以限制本发明。在本发明其他实施例中,每个大区块中的Y像素数据只要一起存放入DRAM存储器的一段落中就可以,并不限于光栅扫描(raster scan)方式来排列。
[0066]假定图7的MPEG解码器60也具有一行缓冲存储器(line buffer memory),其大小有160个位元组,表示可以一次读取并暂存动态存取存储器中位址连续的160位元组。这行缓冲存储器的大小,刚好可用来存放一个Y帧中一行扫描线中160个Y像素数据。去区块滤波器70可以提供一起始位置,以及依据图8所定义的存放排列方式下,相对应提供存放位址连续的160个Y像素数据,给DMA引擎80。DMA引擎80可以快速地将所接收到的Y像素数据,透过MIU总线82,转存入相对应连续位址的160位元组。
[0067]相反的,为了产生参考大区块,参考大区块产生器74可以依据动态向量,以及图8或公式(I)所定义的存放排列方式,可以得知参考大区块中所有Y像素数据在DRAM存储器84中的存放位址。参考大区块产生器74可以分几次,每次读取DRAM存储器84中连续位址的160位元组,然后撷取其中归属于参考大区块的部分,来产生参考大区块。举例来说,依据动态向量,参考大区块产生器74可能得知参考大区块90的最左上方,应该是Y像素数据Ycu (8,8),如图9所示。从图8或公式⑴可推知,Y像素数据Ycu (8,8)在DRAM存储器84中的存放位址为ADs+162+16x8+8=(ADs+376)。第一次读取时,参考大区块产生器74提供位址ADs+376给予DMA引擎80。DMA引擎80以位址ADs+376作为读取起始位置,读取位址连续的160个Y像素数据。而参考大区块产生器74撷取其中的64个Y像素数据Y0,: (8~15,8~15)。第二次读取时,DMA引擎80可以从Y像素数据\2 (8,0)的相对应位址ADs+162x2+16x8开始,读取位址连续的160个Y像素数据,然后参考大区块产生器74撷取其中的64个Y像素数据Ytl2 (8~15,O~7)。类似的,第三次读取了 160个Y像素数据后,参考大区块产生器74撷取了 64个Y像素数据Ylil (O~7,8~15);第四次也是读取了 160个Y像素数据后,撷取了 Y像素数据Yu2 (O~7,O~7)。Y像素数据Ycu (8~15,8~15)、YQ,2 (8~15,O~7)、Yui (O~7,8~15)、以及Y1>2 (O~7,O~7),可以一起构成参考大区块90。第9图中的打点区域92显示,为了产生参考大区块90,行缓冲存储器所曾经读取的像素数据。在此实施例中,读取效率约等于(16xl6)/(160x4)。相较于图6中的先前技术所引发的读取效率(其为( 16χ16)/(160χ16)),图9所引发的读取效率大幅的改善。因此,本发明的实施例可以降低DRAM存储器存取次数,增加读取效率。
[0068]图10显示在一本发明的实施例中,一参考画面中的U与V帧,在DRAM存储器86中的存放排列方式。类似的,去区块滤波器70以马赛克扫描的方式,依序将一参考画面中大区块中的U与V像素数据,存放入DRAM存储器86中的数个段落SQTSC99。在图10中,每个段落有128(=82x2)位元组。尽管U与V像素数据也都是以光栅扫描(raster scan)方式,存放于一对应段落中,但是在一段落中,U与V像素数据是以颜色交错的方式排列。如同图10所示,一个V像素数据的存放位址紧跟在一个U像素数据的存放位址;反之亦然。在图10中,段落SC。,其为位址ADs到位址ADS+128的位元组,存放了大区块MB (O, O)中,所有的U与V像素数据。段落SC1存放了大区块MB (0,I)中,所有的U与V像素数据。
[0069]图10的安排有个特别的好处,在读取产生由U与V像素数据所构成的两个参考大区块时,一次的行缓冲存储器对DRAM存储器的读取动作,就可以同时读取到U与V像素数据,可以得到相当的读取效率。
[0070]马赛克扫描指的是一个一个大区块,依序存放入DRAM存储器中。在以上实施例中,为了说明上的方便,马赛克扫描时存入一段落中的大区块,定义为如图4中MPEG所定义的大区块。然而,在本发明的实施例中,马赛克扫描中所定义的大区块,不必然跟MPEG在编码与解码所定义的大区块一致。图11显示一种马赛克扫描时,所定义的大区块。图11中,一个大区块MB (i,j)共有16x32个Y像素数据,8x16个V像素数据,以及8x16个U像素数据。以Y像素数据为例,在图11中,第一行的Y像素数据\」(0,0)?\」(0,15)属于交错式扫描(interlaced-scanning)影像中的上场景(top field),而第二行的Y像素数据Yi, j (I,O)?\」(1,15)属于下场景(bottom field),第三行则属于上场景,以此类推。图11中的U与V像素数据,与Y像素数据类似,也分属于上下场景。图7的MPEG解码器60可采用第11图的大区块定义,来进行马赛克扫描。举例来说,去区块滤波器70使得图11中所定义的一个大区块中的Y像素数据,以光栅扫描方式,排列存放于DRAM存储器中,具有连续住址的一段落中。因此,以DRAM存储器的位址来看,属于上场景的一行Y像素数据,紧跟在属于下场景的一行Y像素数据,其紧跟在属于上场景的另一行Y像素数据。换言之,上下场景的Y像素数据,以行与行交错的方式,排列存放于DRAM存储器中。至于图11中的U与V像素数据,可以采用图中所教导的存放排列方式,存放于一 DRAM存储器中。
[0071]与已知技术相较,本发明实施例所教导的MPEG解码器,确实可以有效降低存储器存取次数,并增加存储器读取效率。
[0072]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【权利要求】
1.一种处理方法,用以处理影像数据,该影像数据包含由数个大区块所构成的一第一画面,该处理方法包含有: 提供一存储器;以及 对该第一画面所包含的一第一大区块进行去区块处理后,将处理后的大区块写入该存储器,并使该处理后大区块内的多个像素数据储存于该存储器内位址连续的一第一储存空间。
2.如权利要求1所述的处理方法,其特征在于,将处理后的大区块写入该存储器,并使该处理后大区块内的多个像素的数据储存于该存储器内位址连续的一第一储存空间的步骤,依据该存储器中的一写入起始位址、该些像素在该处理后大区块内的位置、以及该处理后大区块在该第一画面内的位置,来决定该些像素写入该存储器的位址。
3.如权利要求2所述的处理方法,其特征在于,该写入起始位址对应于该第一画面中排序第一的大区块中的第一个像素。
4.如权利要求3所述的处理方法,其特征在于,该处理后的大区块为MB(i,j),其中i为O到1-1的一个整数,j为O到J-1的一个整数,i与j可表示该处理后大区块MB (i,j)于该第一画面中的所在区块位置,一像素数据为Dy.(m,η),其中,m为O到M-1的一个整数,η为O到N-1的一个整数,m与η表示该像素数据Di;j (m,η)于该处理后大区块MB (i,j)中的像素位置,决定该像素数据DuOn,η)写入该存储器的位址的步骤依据下列公式:
ADS+J*M*N * i+M*N * j+N*m+n 其中,ADs为该写入起始位址,I为该第一画面中的大区块总行数,J为该第一画面中位于同一行的大区块总数量,M是一大区块中的像素总行数,N是一大区块中位于同一行的像素总数量。
5.如权利要求1所述的处理方法,其特征在于,该影像数据另包含由数个大区块所构成的一第二画面,该处理方法另包含有: 依据一位移向量,决定该存储器中的一读取起始位址;以及 从该读取起始位址开始的位址连续的一第二储存空间中,读取该第一画面的一第二大区块的多个像素的数据,以产生该第二画面的一参考大区块。
6.如权利要求5所述的处理方法,其特征在于,另包含有: 撷取被读取出来的该些像素的数据的一部分,并据以产生该第二画面的一部分。
7.如权利要求1所述的处理方法,其特征在于,该大区块中的该些像素的数据包含属于上场景的像素数据与属于下场景的像素数据,该方法另包含将该些分别属于上下场景的像素数据,以列与列交错的方式,写入该存储器上位址连续的储存空间。
8.如权利要求1所述的处理方法,其特征在于,该大区块包含有多个第一颜色像素数据以及第二颜色像素数据,其以颜色交错的方式写入该存储器上位址连续的储存空间。
9.一种处理装置,用以处理影像数据,该影像数据包含由数个大区块所构成的一第一画面,该处理装置包含有: 一存储器;以及 一去区块滤波器,对该第一画面所包含的一第一大区块进行去区块处理后,将处理后的大区块写入该存储器,并使该处理后大区块内的多个像素的数据储存于该存储器内位址连续的一第一储存空间。
10.如权利要求9所述的处理装置,其特征在于,该去区块滤波器依据该存储器中的一写入起始位址、该些像素在该处理后大区块内的位置、以及该处理后大区块在该第一画面内的位置,来决定该些像素写入该存储器的位址。
11.如权利要求10所述的处理装置,其特征在于,该写入起始位址对应于该第一画面中排序第一的大区块中的第一个像素。
12.如权利要求11所述的处理装置,其特征在于,该处理后的大区块为MB(i,j),其中i为O到1-1的一个整数,j为O到J-1的一个整数,i与j可表示该处理后大区块MB (i,j)于该第一画面中的所在区块位置,一像素数据为Dy.(m,η),其中,m为O到M-1的一个整数,η为O到N-1的一个整数,m与η表示该像素数据Dy (m,n)于该处理后大区块MB (i,j)中的像素位置,该去区块滤波器依据下列公式决定该像素数据Dy.(m,η)写入该存储器的位址:
ADS+J*M*N * i+M*N * j+N*m+n, 其中,ADs为该写入起始位址,I为该第一画面中的大区块总行数,J为该第一画面中位于同一行的大区块总数量,M是一大区块中的像素总行数,N是一大区块中位于同一行的像素总数量。
13.如权利要求9所述的处理装置,其特征在于,该影像数据另包含由数个大区块所构成的一第二画面,该处理装置还包含有一参考大区块产生器,依据一位移向量,决定该存储器中的一读取起始位址,以及从该读取起始位址开始的位址连续的一第二储存空间中,读取该第一画面的一第二大区块的多个像素的数据,以产生该第二画面的一参考大区块。
14.如权利要求13所述的处理装置,其特征在于,另包含有一直接存取存储器引擎,用以存取该存储器;其中,该参考大区块产生器提供该读取起始位置给予该直接存取存储器引擎,并透过该直接存取存储器引擎从该读取起始位址开始的位址连续的一第二储存空间中,读取该第一画面的一第二大区块的多个像素的数据,以产生该第二画面的一参考大区块。
15.如权利要求13所述的处理装置,其特征在于,该参考大区块产生器撷取被读取出来的该些像素的数据的一部分,并据以产生该第二画面的部分。
16.如权利要求9所述的处理装置,其特征在于,该大区块中的该些像素的数据包含属于上场景的像素数据与属于下场景的像素数据,该去区块滤波器将该些分别属于上下场景的像素数据,以列与列交错的方式,写入该存储器上位址连续的储存空间。
17.如权利要求9所述的处理装置,其特征在于,该大区块包含有多个第一颜色像素数据以及第二颜色像素数据,该去区块滤波器将该些第一颜色像素数据以及该些第二颜色像素数据以颜色交错的方式写入该存储器上位址连续的储存空间。
【文档编号】H04N19/129GK103974073SQ201310027433
【公开日】2014年8月6日 申请日期:2013年1月24日 优先权日:2013年1月24日
【发明者】陈峻仪 申请人:晨星半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1