会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑图像 / 运动矢量 / 帧场视频解码中运动矢量存取的控制装置及其方法

帧场视频解码中运动矢量存取的控制装置及其方法

阅读:539发布:2021-02-27

IPRDB可以提供帧场视频解码中运动矢量存取的控制装置及其方法专利检索,专利查询,专利分析的服务。并且本发明公开了帧场视频解码中运动矢量存取的控制装置和方法,所述装置包括外存控制器、主控模块、地址生成模块、内部缓冲区模块,地址生成模块用于每个图像解码起始时根据帧场参考信息确定对当前图像处理的地址生成方式,并将生成的地址送到主控模块;主控模块接收地址生成模块发送来的地址,根据该地址将P图像的运动矢量写入内部缓冲区模块,或向外存控制器发出从外部存储器读取所述地址中数据的请求信息;外存控制器响应主控模块的请求信息,将外部存储器中的数据写入内部缓冲区模块,或将内部缓冲区模块中的数据写入外部存储器;本发明缓解了视频解码时运动矢量存取处理对外部存储器的压力,能够有效改善整个系统的性能,硬件装置结构简洁。,下面是帧场视频解码中运动矢量存取的控制装置及其方法专利的具体信息内容。

1.一种帧场视频解码中运动矢量存取的控制装置,包括外存控制器,其特征在于,还包括主控模块、地址生成模块、内部缓冲区模块,其中,所述的地址生成模块用于在每个图像解码起始时确定对当前图像处理的地址生成方式,并将生成的地址送到主控模块;所述的主控模块接收地址生成模块发送来的地址,判断是对于P图像解码时生成的写入地址还是对于B图像解码时生成的读取地址,如是写入地址,则根据该写入地址将P图像的运动矢量写入内部缓冲区模块,并根据内部缓冲区模块存入数据的预设数据量,向外存控制器发出向外部存储器存储数据的请求信息;如是读取地址,向外存控制器发出从外部存储器读取数据的请求信息;外存控制器响应主控模块的请求信息,将内部缓冲区模块中的数据写入外部存储器,或者将外部存储器中的数据写入内部缓冲区模块。

2.根据权利要求1所述的帧场视频解码中运动矢量存取的控制装置,其特征在于,所述的内部缓冲区模块包括用于P图像的预存缓冲区模块和用于B图像的预取缓冲区模块。

3.根据权利要求1或2所述的帧场视频解码中运动矢量存取的控制装置,其特征在于,所述的内部缓冲区模块为FIFO模块。

4.一种基于权利要求1-3任一所述的控制装置的帧场视频解码中运动矢量存取的控制方法,其特征在于,包括如下步骤:步骤10、主控模块分析当前解码操作图像,如果是I图像,不进行任何处理,等待下一个解码图像;如果是P图像,执行步骤20;如果是B图像,执行步骤30;步骤20、按照解码次序进行P图像宏块解码,每解码完成一个宏块,其对应的运动矢量存入内部缓冲区模块;并行执行步骤21、22;步骤21、判断当前存入内部缓冲区模块的运动矢量数量是否达到预设值,如果没有达到,返回步骤20,如果达到,向外存控制器发送向外部存储器存储数据的请求信息,外存控制器根据请求信息将内部缓冲区模块中的数据一次写入外部存储器;步骤22、判断当前P图像处理是否完成,如果没有完成,返回步骤20,如果完成,将内部缓冲区模块的剩余运动矢量全部请求写入外部存储器;执行步骤10;步骤30、外存控制器将外部存储器中预设数量的P图像的运动矢量读取到内部缓冲区模块;步骤31、按解码次序进行B图像宏块解码,每完成一个宏块的解码,对内部缓冲区模块中的参考运动矢量增加脏标识以标识其使用情况;并行执行步骤32、33;步骤32、判断内部缓冲区模块中具有脏标识的参考运动矢量数量是否达到预设数量,如果达到,则向外存控制器发送写入下一组数据的请求信息,外存控制器根据请求信息向内部缓冲区模块中写入下一组参考图像的运动矢量,如果没有达到,返回步骤31;步骤33、判断当前图像所有宏块是否都已处理完毕,如果是,返回步骤10,如果否,返回步骤31。

5.根据权利要求4所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤20中的将对应运动矢量存入内部缓冲区模块之前,地址生成模块将当前P图像解码宏块位置的地址转换成需要存储运动矢量的对应地址,主控模块将P图像宏块解码得到的运动矢量按上述地址存入内部缓冲区模块。

6.根据权利要求5所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述的地址转换的算法为,若当前P图像解码宏块的地址为(i,j),需要存储的运动矢量地址为:(i×2+j%2,j/2)。

7.根据权利要求4所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤21中用于主控模块判断当前存入内部缓冲区模块运动矢量的数量是否达到的预设值为内部缓冲区模块容量的一半。

8.根据权利要求4所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤21中向外部存储器存储数据的请求信息至少包括请求存储信息、存储数量信息。

9.根据权利要求4所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤30包括如下步骤:步骤A、判断当前B图像的编码类型及其参考图像的编码类型,如果当前B图像是帧编码,参考图像是帧编码,执行步骤B;如果当前B图像是场编码,参考图像是场编码,执行步骤C;如果当前B图像是帧编码,参考图像是场编码,执行步骤D;如果当前B图像是场编码,参考图像是帧编码,执行步骤E;步骤B:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为(i×2+j%2,j/2),当处理下一宏块时,即地址变为(i+1,j),存储地址即在前一从外部存储器读取的地址基础上加2即可得到,这样将当前宏块地址依次加2即可按照帧-帧地址生成方式获得需要读取的参考运动矢量地址,外存控制器按照得到的地址,根据主控模块的请求信息,以突发方式将外部存储器中P图像的运动矢量写入内部缓冲区模块中;步骤C:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为(i×2+j%2,j/2),根据当前解码宏块地址计算得到需要读取的地址后,将当前地址依次加2即可按照场-场地址生成方式获得参考运动矢量的地址,外存控制器按照得到的地址以及主控模块的请求信息,以突发方式将外部存储器中P图像的运动矢量写入内部缓冲区模块中;步骤D:按照如下的对应关系得到参考运动矢量的地址:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为:(i×2+(j%4)/2,j/4),外存控制器按照得到的地址以及主控模块的请求信息,将外部存储器中P图像的运动矢量写入内部缓冲区模块中;步骤E:按照如下的对应关系得到参考运动矢量的地址:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为:第一场为:(i×2,j),第二场为(i×2,j-mb_height_fld)或者,第一场为(i×2+1,j),第二场为(i×2+1,j-mb_height_fld),这里所述的mb_height_fld表示单场垂直方向的宏块数目;外存控制器按照得到的地址以及主控模块的请求信息,将外部存储器中P图像的运动矢量写入内部缓冲区模块中。

10.根据权利要求4所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤31中增加脏标识的过程如下:主控模块判断B图像的解码模式,如果按照直接模式进行解码,则从内部缓冲区模块获得参考运动矢量进行解码,并对使用的参考运动矢量增加脏标识;如果不是按照直接模式进行解码,则直接为当前参考运动矢量增加脏标识。

11.根据权利要求4或9所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤32中写入下一组数据的请求信息至少包括请求读取信息、读取数量信息。

12.根据权利要求4所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述步骤32中用于判断内部缓冲区模块中具有脏标识的参考运动矢量数目是否达到的预设数量为内部缓冲区模块容量的一半。

13.根据权利要求4-10任一所述的帧场视频解码中运动矢量存取的控制方法,其特征在于,所述的内部缓冲区模块为FIFO模块。

说明书全文

帧场视频解码中运动矢量存取的控制装置及其方法

技术领域

本发明涉及数字视频编/解码技术领域中的一种帧场视频解码中运动矢量存取的控制方法及其装置,尤其是当出现帧场混合解码时运动矢量写入和读取的控制方法及其装置。

背景技术

数字电视、新一代移动通信、宽带网络通信、家庭消费电子这些高技术产业群的共性技术集中在以视音频为主要内容的多媒体信息处理技术上,特别是数据压缩技术上。高效的视频编解码技术是实现高质量、低成本多媒体数据存储与传输的关键。
在整个视频编码中,大部分的编码效率来自于帧间预测使用预测模块来解决视频序列时间上的冗余。运动矢量(Motion Vector,简称MV)在帧间编码中记录块的运动趋势,每个块通过MV所指来获得已经解码重构块,这样只需要编码这两个块的残差即可。
直接模式是B图像编码中最高效的模式,采用直接模式,其前后向运动矢量由后向参考图像的运动矢量推导得到,在码流中可以不对运动矢量信息进行编码(只用一位来标识即可),因此可以减少编码运动矢量信息的比特,有效地提高编码效率。但是由于直接模式的当前帧前后向运动矢量要通过后向参考帧运动矢量根据当前帧与参考帧以及参考帧之间的时域距离来推导,所以在导出直接模式运动矢量必须用到其后向参考图像的运动矢量信息。在软硬件实现时,每个P图像宏块处理完毕,必须将其各个子块的MV存储起来;而对于B图像的直接模式宏块,需要取出对应位置的MV用于导出计算。特别是对于硬件实现,因为整帧的MV数据量较大,是不可能放在视频解码芯片内的,这样就会带来访问解码芯片外部存储器的操作。外部访存是一项耗时的操作,而且,因为外部存储器并不是只为MV预测生成模块服务,所以完成时间不定。传统的方法是需要的时候去取所需MV,当外存控制器不能及时响应时,解码流程停下来等待参考MV取回,从而使整个解码器的解码流程都受到影响,致使解码效率低下。
在现有的视频标准中(如MPEG系列和H.26x系列),MPEG4中的B图像存在直接模式编码。新的H.264标准和我国自主知识产权的AVS Video1.0标准(Audio Video coding Standard Workgroup of China,简称AVS)中也有直接模式编码。对于AVS 1.0,它允许帧场自适应编码,即可以在同一码流中,某些图像采用帧编码,而另一些采用场编码,这样能够自适应的选择最优的编码方式,充分利用帧场编码的优点。但是,帧场自适应编码也带来了直接模式存取的问题,因为当前B图像可能是帧编码,而它的后向参考P图像则可能是场编码,这时B的直接模式帧宏块需要到P的对应场宏块处去取参考MV。
对MV进行存储最直接的方法是不论帧场把参考MV挨个存储到外部存储器缓冲区中。当码流都是确定的帧编码或场编码时,这种方式能够正常工作,直接模式宏块的对应参考宏块都是确定位置的,帧的在后向参考帧同一位置,场的在后向参考场同一位置(第一场的对应后向参考第一场,第二场的对应后向第二场)。然而在对帧场自适应编码的码流进行解码时,这种方法虽然也能工作,但它生成的用于参考MV的地址将不规律,会出现跨行现象,造成外存控制器不能通过突发方式来快速读取,从而影响整体外部存储器使用的效率。
从对外部存储器访问的处理来看,完成访存操作非常耗时,并且外部存储器并不单为MV生成模块服务,可能需要等待对其它模块的服务完成后才能轮到MV生成模块,这样读写操作的时间是不能保证的。频繁向外存控制器发出请求也会影响其它模块的工作效率,应该更好地利用外存的突发读写模式,批量进行操作以提高效率,所以迫切需要新的更有效的技术来解决MV存取带来的问题。

发明内容

本发明所要解决的技术问题在于,针对现有技术的不足,提供一种帧场视频解码中运动矢量存取的控制装置,用于解码时控制直接模式的图像的运动矢量的存取,使外存控制器可以以突出的方式一次读取或写入多个参考MV,缓解了视频解码时MV存取处理对外部存储器的压力,结构简单,易于实现;本发明所要解决的另一个技术问题在于,针对现有技术的不足,提供一种帧场视频解码中运动矢量存取的控制方法,使外存控制器可以以突出的方式一次读取或写入多个参考MV,缓解了视频解码时MV存取处理对外部存储器的压力,提高整体外部存储器的使用效率。
本发明通过如下的技术方案实现:视频解码时,无论帧编码还是场编码,P图像各个宏块的MV按照解码次序依次存储,但每奇偶两行的MV交叉并存入一行。这样存储操作不必关心帧场编码,可以按照统一的方式处理。为了避免频繁请求外部存储器响应,采用类似cache缓存的方式,在内部保留一定的存储空间,依次存入MV。当到达一定数量后,一次请求外存控制器,这样外部存储器可以通过突发操作一次写入。
B图像解码时,不论是否是直接模式宏块,按照帧场地址映射关系,采用预取的方法,一次突发读取多个参考MV。每处理一个宏块弹出一个参考MV,如果当前解码块不是直接模式这个参考MV不使用,如果当前解码块是直接模式,则可以直接进行导出计算,通过图像及块间距离的比例关系来计算出前后向MV。
由于外部存储器不只是为MV生成模块服务,还需要为其他的模块服务,所以,响应主控模块的请求进行读写的操作有可能需要等待对其他模块的服务完成才能进行,所以,通过预存和预取的办法,可以使外部存储器读写的操作与正常解码的处理并行进行,尽可能减少MV生成模块等待外存操作的时间。也就是说,当外部存储器对内部缓冲区模块进行读写操作的同时,也在进行解码。对于P图像,解码得到的MV存储到内部缓冲区模块,对于B图像,为使用过的MV增加脏标识。
本发明所述的装置结构示意图如图1所示:一种帧场视频解码中运动矢量存取的控制装置,包括外存控制器、主控模块、地址生成模块、内部缓冲区模块,其中,所述的地址生成模块用于解码每个图像的起始时确定对当前图像处理的地址生成方式,并将生成的地址送到主控模块;主控模块接收地址生成模块发送来的地址,判断是对于P图像解码时生成的写入地址还是对于B图像解码时生成的读取地址,如是写入地址,则根据该写入地址将P图像的MV写入内部缓冲区模块,并根据内部缓冲区模块存入数据的预设数据量,向外存控制器发出向外部存储器存储数据的请求信息;如是读取地址,向外存控制器发出从外部存储器读取数据的请求信息。
外存控制器响应主控模块的请求信息,将内部缓冲区模块中的数据写入外部存储器,或者将外部存储器中的数据写入内部缓冲区模块。
在本发明中,因为读取和写入操作在不同的图像解码中发生,每单一图像其操作方式是确定的,这样可将前述预取和预存两个内部缓冲区统一到一个通用内部缓冲区模块中,根据图像类型来决定其工作方式,所以所述的缓冲区模块可以是一个缓冲区模块,也可以是分别用于P图像的预存缓冲区模块和用于B图像的预取缓冲区模块。
另外,本发明所述的内部缓冲区模块可为FIFO模块。
步骤10、主控模块分析当前解码操作图像,如果是I图像,不进行任何处理,等待下一个解码图像;如果是P图像,执行步骤20;如果是B图像,执行步骤30;步骤20、按照解码次序进行P图像宏块解码,每解码完成一个宏块,其对应的MV存入内部缓冲区模块;并列执行步骤21、22;步骤21、主控模块判断当前存入内部缓冲区模块的MV数量是否达到预设值,如果没有达到,返回步骤20,如果达到,向外存控制器发送向外部存储器存储数据的请求信息,外存控制器根据请求信息将内部缓冲区模块中的数据一次写入外部存储器;步骤22、判断当前P图像处理是否完成,如果没有完成,返回步骤20,如果完成,将内部缓冲区模块的剩余MV全部请求写入外部存储器;执行步骤10;步骤30、外存控制器将外部存储器中预设数量的P图像的MV读取到内部缓冲区模块;步骤31、按解码次序进行B图像宏块解码,每完成一个宏块的解码,对内部缓冲区模块中的参考MV增加脏标识以标识其使用情况;并列执行步骤32、33;步骤32、判断内部缓冲区模块中具有脏标识的参考MV数量是否达到预设数量,如果达到,则向外存控制器发送写入下一组数据的请求信息,外存控制器根据请求信息向内部缓冲区模块中写入下一组参考图像的MV,如果没有达到,返回步骤31;步骤33、判断当前图像所有宏块是否都已处理完毕,如果是,返回步骤10,如果否,返回步骤31。
步骤21中所述的向外部存储器存储数据的请求信息至少包括请求存储信息、存储数量信息所述步骤20中的对应MV存入内部缓冲区模块之前,地址生成模块将当前P图像解码宏块位置的地址转换成需要存储MV的地址,P图像宏块解码得到的MV按上述地址存入内部缓冲区模块。因为直接模式是取当前解码宏块位置的后向参考图像同一位置宏块的MV来做参考,所以存取MV的地址信息是从宏块的位置获得的所述的地址转换算法为,若当前P图像解码宏块的地址为(i,j)(即该宏块对应的行、列坐标),则需要存储的MV地址为:(i×2+j%2,j/2),也就是说,每奇偶两行当前P图像宏块解码的MV交叉并存入一行。这里%表示求余计算,j%2表示j为偶数行,存储MV的行列坐标为(2i,j/2);若j为奇数行,存储MV的行列坐标为(2i+1,j/2)。
所述用于P图像和B图像解码处理时的内部缓冲区模块均可为FIFO缓冲存储器。
所述步骤32中写入下一组数据的请求信息至少包括请求读取信息、读取数量信息。
在所述步骤30包括如下步骤:步骤A、判断当前B图像的编码类型及其参考图像的编码类型,如果当前B图像是帧编码,参考图像是帧编码,执行步骤B;如果当前B图像是场编码,参考图像是场编码,执行步骤C;如果当前B图像是帧编码,参考图像是场编码,执行步骤D;如果当前B图像是场编码,参考图像是帧编码,执行步骤E;步骤B:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为(i×2+j%2,j/2)。这里的地址生成方式与P图像时存储MV的地址生成方式对应。当处理下一宏块时,即地址变为(i+1,j),需要从外部存储器读取地址即在前一地址基础上加2即可得到。这样将当前宏块地址依次加2即可按照帧-帧地址生成方式获得需要读取的参考MV地址,外存控制器按照得到的地址,根据主控模块请求的写入个数,以突发方式将MV读入;步骤C:前场后场参考的地址生成方法与步骤B类似,根据当前解码宏块地址计算得到需要读取的地址后,将当前地址依次加2即可按照场-场地址生成方式获得参考MV的地址,外存控制器按照得到的地址以及主控模块请求的写入个数,以突发方式将外部存储器中P图像的MV写入内部缓冲区模块中;
步骤D:按照如下的对应关系得到参考MV的地址:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为:(i×2+(j%4)/2,j/4),外存控制器按照得到的地址以及主控模块请求的写入个数,将外部存储器中P图像的MV写入内部缓存中;步骤E:按照如下的对应关系得到参考MV的地址:若当前宏块地址为(i,j),则需要从外部存储器读取的地址为:第一场为:(i×2,j),第二场为(i×2,j-mb_height_fld)或者,第一场为(i×2+1,j),第二场为(i×2+1,j-mb_height_fld)。外存控制器按照得到的地址以及主控模块请求的写入个数,将外部存储器中P图像的MV写入内部缓存中。
所述增加的脏标识的过程如下,判断B图像的解码模块,如果按照直接模式进行解码,则从内部缓存获得参考MV进行解码,并对使用的参考MV增加脏标识;如果不是按照直接模式进行解码,则直接为当前参考MV增加脏标识。
综上所述,本发明通过缓存和预取的方式,缓解了视频解码时MV存取处理对外部存储器的压力,能够有效改善整个系统的性能;结合帧场自适应的需求,采用简单的地址映射方式,满足帧编码、场编码以及帧场自适应编码的应用,硬件装置结构简洁,可用标准的FIFO实现。

附图说明

图1是本发明所述装置的结构示意图;图2是本发明所述方法的流程图;图3是AVS 1.0视频帧编码P图像参考图像示意图;图4是AVS 1.0视频帧编码B图像参考图像示意图;图5是AVS 1.0视频前帧后帧直接模式处理示意图;图6是AVS 1.0视频前场后场直接模式处理示意图;
图7是AVS 1.0视频前帧后场直接模式处理示意图;图8是AVS 1.0视频前场后帧直接模式处理示意图;图9是AVS 1.0视频MV隔行存储组织的示意图;图10是AVS 1.0视频MV光栅扫描存储组织的示意图;图11是AVS 1.0视频前帧后帧地址转换示意图;图12是AVS 1.0视频前帧后场地址转换示意图;图13是AVS 1.0视频前场后帧地址转换示意图。

具体实施方式

以下结合附图和具体的实施例对本发明进行详细的说明。
以下结合具体的实施例对本发明做进一步详细的说明(以AVS Video1.0编码标准为例):本发明提供了一种用于视频解码的运动矢量存入读取的方法及其装置,特别是考虑帧场混合编解码时,根据其特点采用的地址生成策略,能够更有效的利用外部存储器带宽,在运动矢量生成模块需求更复杂的情况下进一步改善系统的性能。所提供的存取装置设计简单,能够运用标准的FIFO实现其控制操作,便于硬件的实现。
本发明所述的装置结构示意图如图1所示:一种帧场视频解码中运动矢量存取的控制装置,包括外存控制器1、主控模块2、地址生成模块3、内部缓冲区模块4,其中,所述的地址生成模块3用于每个图像解码起始时确定对当前图像处理的地址生成方式,并将生成的地址送到主控模块2;主控模块2接收地址生成模块3发送来的地址,判断是对于P图像解码时生成的写入地址还是对于B图像解码时生成的读取地址,如是写入地址,则根据该写入地址将P图像的MV写入内部缓冲区模块4,并根据内部缓冲区模块4存入数据的预设数据量,向外存控制器1发出向外部存储器存储数据的请求信息;如是读取地址,向外存控制器1发出从外部存储器读取数据的请求信息。
外存控制器1响应主控模块2的请求信息,将内部缓冲区模块4中的数据写入外部存储器,或者将外部存储器中的数据写入内部缓冲区模块4。
在本发明中,所述的内部缓冲区模块4为FIFO模块,该FIFO模块可以是一个,也可以是针对P图像的预存FIFO模块,也可以是针对B图像的预读模块。
在本发明中,因为读取和写入操作在不同的图像解码中发生,每单一图像操作方式是确定的,这样可将前述预存和预读两个FIFO统一为一个通用FIFO,根据图像类型来决定其工作方式,所以所述的内部缓冲区模块可以是一个内部缓冲区模块,也可以是用于P图像的预存FIFO模块和用于B图像的预读FIFO模块。
本发明所述方法的流程参见图2所示:步骤10、主控模块分析当前解码操作图像,如果是I图像,不进行任何处理,等待下一个解码图像;如果是P图像,执行步骤100;如果是B图像,执行步骤200;步骤100、按照解码次序进行P图像宏块解码;步骤101、地址生成模块将当前P图像宏块解码的宏块地址转换成需要存储的MV地址,所述的地址转换算法为,若当前P图像宏块解码的MV地址为(i,j),则需要存储的地址为:(i×2+j%2,j/2),也就是说,每奇偶两行当前P图像宏块解码的MV交叉并存入一行;步骤102、将P图像宏块解码得到的MV按上述地址存入内部缓冲区模块;并行执行步骤103、105;步骤103、主控模块判断当前存入内部缓冲区模块的数量是否达到预设值,如果没有达到,返回步骤100,如果达到,向外存控制器发送向外部存储器存储数据的请求信息,所述的请求信息至少包括请求存储信息、存储数量信息;步骤104、外存控制器将内部缓冲区模块的数据一次写入外部存储器;步骤105、判断当前P图像处理是否完成,如果没有完成,返回步骤100,如果完成,将内部缓冲区模块中的剩余MV全部请求写入外部存储器,返回步骤10。
步骤200、判断当前B图像的编码类型及其参考图像的编码类型,如果当前B图像是帧编码,参考图像是帧编码,执行步骤201;如果当前B图像是场编码,参考图像是场编码,执行步骤202;如果当前B图像是帧编码,参考图像是场编码,执行步骤203;如果当前B图像是场编码,参考图像是帧编码,执行步骤204;步骤201:将当前地址依次加2即可获得按照帧-帧地址生成方式得到参考MV的地址,外存控制器按照得到的地址,将外部存储器中P图像的MV写入内部缓冲区模块中。
步骤202:将当前地址依次加2即可获得按照场-场地址生成方式得到参考MV的地址,外存控制器按照得到的地址,将外部存储器中P图像的MV写入内部缓冲区模块中。
步骤203:按照如下的对应关系得到参考MV的地址:若当前宏块地址为(i,j),则需要存储的地址为:(i×2+(j%4)/2,j/4),外存控制器按照得到的地址,将外部存储器中P图像的MV写入内部缓冲区模块中。
步骤204:按照如下的对应关系得到参考MV的地址:若当前宏块地址为(i,j),则需要存储的地址为:第一场为:(i×2,j),第二场为(i×2,j-mb_height_fld)或者,第一场为(i×2+1,j),第二场为(i×2+1,j-mb_height_fld)。外存控制器按照得到的地址,将外部存储器中P图像的MV写入内部缓冲区模块中。
步骤205、按解码次序进行B图像宏块解码,每完成一个宏块的解码,对内部缓冲区模块中的参考MV增加脏标识以标识其使用情况;并行执行步骤206、207;步骤206、判断内部缓冲区模块中具有脏标识的参考MV数目是否达到特定数目,如果达到,则向外存控制器发送请求写入下一组数据的请求,所述的请求信息至少包括请求读取信息、读取数量信息,外存控制器向内部缓冲区模块中写入下一组参考图像的MV,如果没有达到,返回步骤205;步骤207、判断当前图像所有宏块是否都已处理完毕,如果否,返回步骤205,如果是,返回步骤10。
AVS 1.0视频标准支持单纯的帧编码、场编码,以及帧场自适应编码(即Picture Adaptive Frame Field,简称PAFF)。AVS 1.0中两个非B图像间最多可以有2个B图像,参考图像个数对于P图像是前面第一帧和前面第二帧(图3所示帧编码情形),而B图像是前后各一帧(图4所示帧编码情形)。
对于直接模式的处理,因为帧场混合编码,可以有下面四种方式:前帧后帧方式(当前B图像帧编码,后向P图像帧编码)处理方式见图5。当前帧直接模式宏块的参考MV从后向帧同一宏块位置处取得。当前解码宏块位置为(i,j),则其参考宏块就在后向参考图像的同一位置(i,j)。就是说当前是哪个位置的宏块,那么它的参考宏块就是在后向参考图像的同一位置处。注意这里的坐标,因为这里是说明原理,并没有交错来存储,故地址是完全对应的。
前场后场方式(当前B图像场编码,后向P图像场编码)处理方式见图6。当前场直接模式宏块的参考MV从后向同场的同一宏块位置处取得,即当前第一场对应后向第一场,当前第二场对应后向第二场。与前帧后帧的方式相似,但其分别是按各自场来对应参考。
前帧后场方式(当前B图像帧编码,后向P图像场编码)处理方式见图7。当前帧直接模式宏块的参考MV从后向第一场的同一宏块水平位置但一半的宏块垂直位置处取得。这是因为在帧中8×16的块实际上是由上下两场各一个8×8块按行交叉而成的。前帧后场即当前是帧,但后向参考为场,后向顶底场各有一个对应位置的8×8块,与当前8×16块对应。此时有2个参考MV可供选择,按照统一的方式都选择第一场即可。因为一帧对应两场,单场的高度是帧的一半,所以取垂直地址一半处。
前场后帧方式(当前B图像场编码,后向P图像帧编码)处理方式见图8。当前场直接模式宏块的参考MV从后向帧的同一宏块水平位置但两倍的宏块垂直位置处取得。与前帧后场方式相反,此时需从帧位置读取,故垂直地址为场坐标的2倍。因为后向帧的一个8×16块,对应前向第一和第二场的两个8×8块,帧中16×16宏块只能拆成场中16×8的子块,下半部分需要从帧中下一宏块位置(垂直方下面)处得到。此时每场的一个宏块需要读取参考帧对应两个宏块数据。
对外部存储器的读写操作分别通过预存FIFO和预读FIFO,批量操作能够提高读写效率。但是因为读写处理是在不同的图像分别处理的,在P图像只写不读,在B图像只读不写,所以这里只需要一个FIFO来完成预取和缓存操作。
为了有效的访问外部存储器,尽可能地通过突发方式来连续读取数据,MV数据存储采用偶奇行数据交错存储方式,两行合并成一个存储行。因为外存控制器能够支持有规律的地址增加,这里的每次地址增2方式存储是可行的。
如果不采用这种交错的方式,当“前帧后场”参考的时候,需要每处理一个宏块,读取逻辑上隔行的两个宏块数据,这将不利于突发方式处理。而改为交错可以避免这一问题,对其他读取的影响是原来的连续取数,变为间隔取数。这对外存控制器的影响很小,只需将原有的突发处理时地址每次自动增一,变为自动增二。
下面详细分析存储和读取操作的地址生成方式:
存储MV(P图像)帧存储按照解码顺序依次存储,但每两行并入一行存储。
Current MB pos表示当前解码宏块的坐标。Store MB pos表示需要存储MV的地址。下面各表表头意义相同。
存储如图9所示,阴影块表示偶行宏块MV,白色块表示奇行宏块MV。
场存储按照解码顺序依次存储,从first field到second field,先存first field的MV,然后是second field的MV。同样是每两行并入一行存储。
这里的(i,j)表示从解码次序来看,第一场和第二场先后依次解码,其各个宏块的坐标数值是连续的。虽然都是(i,j),但在各自场意义不是相同的。用mb_height_fld表示场中垂直方向的宏块数值。对于第一场,(i,j)的垂直坐标j一定在1到mb_height_fld范围之内,而对于第二场,其垂直坐标在mb_height_fld到2×mb_height_fld范围之内。
因为存储时,第一场的奇偶行拼成一行,如图10所示存储区的1部分,处理完毕,接着将第二场的奇偶行继续往下写入,即存储区的2部分,其写入地址实际上也是连续的。所以按照这种奇偶交叉写入的方式对帧编码和场编码都是一致的,P图像处理时只需统一按奇偶交叉方式写入即可。
读取MV(B图像)因为PAFF有4种情况出现,读取操作也随之对应变化,根据前后帧场的不同,地址生成也有4种不同方式。
解码当前图像时,当已获知当前编码方式后,结合后向参考图像的编码方式,可以确定当前图像取MV的地址生成方式。每一个解码图像按照同一地址生成方式进行处理。
图10示意连续存储(非交叉存储)后取数的操作过程。可以看到在d)前场后帧情况时需要逻辑上隔行处理。改为按行交叉存储后a),b),c)三种情况都需要跳着取数,而d)情况可以连续取数。
前帧后帧当前宏块与参考宏块一一对应,地址挨个加2即可获得。
MV地址转换的示意见图11。
位置一一对应,但因为是奇偶交叉存储,故存在转换关系。垂直地址变为一半,水平地址根据奇偶行进行偏移。
如图11所示,每个小格为一个8×8子块,①②③④表示偶行一个宏块的4个子块,其坐标(i,j),⑤⑥⑦⑧表示对应同一个i坐标的下一垂直位置处宏块的4个子块,其坐标(i,j+1)。解码时需要按图11左侧图所示从后向参考图像中取对应的参考MV。但因为交叉存储,实际的存储是按图11右侧进行的。所以地址转换时,垂直位置变为一半(即j/2),水平位置坐标根据奇偶行来进行偏移(交叉后水平坐标变为2i,如果是奇行则需要偏移1,即2i+1)。
前场后场当前宏块与参考宏块一一对应,地址挨个加2即可获得。但因为此时第二场参考MV是存储在第二场参考MV之后的,其垂直位置需要加上垂直偏移,即每场垂直方向有mb_height_fld大小的偏移。
这里的(i,j)是从解码次序来看,这两场依次进行解码,地址依次增加,并不是在各自场中的绝对地址。以垂直方向mb_height_fld为界,大于则为

图4所示为应用本发明的宽带接入设备插入多层标签的处理流程图;图5所示为应用本发明的BAS设备对含有多层标签的以太网报文的处理流程图。具体实施方式下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的思路是:在宽带接入网上,采用多层标签对用户位置进行标识,以实现在宽带网络上对任意多个用户位置标识进行传递。
本实施例中,在宽带接入网络中引入虚路标识VlanCI和虚道标识VlanPI两个标签概念,其中,VlanCI相当于ATM网中的VCI,用以标志宽带接入设备的一个非级联端口;VlanPI相当于ATM网中的VPI,用以标志一个独立的宽带接入设备,或者一个级联设备。这样由VlanCI和VlanPI即可定位出一个用户在宽带接入设备上的物理接入位置。
根据802.1Q标准,本实施例中定义的封装VLAN ID的以太网报文的格式如表2所示:
表2其中,DstMAC字段为目的MAC地址,大小为4Bytes;SrcMAC字段为源MAC地址,大小为4Bytes;Etype字段用于标识以太网虚道标识类型,其固定为0x8100,大小为2Bytes;VlanPI采用802.1Q定义的Tag字段,大小为2Bytes,其中后12bit的域标识(VLAN ID)为VlanPI;Etype字段用于标识以太网虚路标识类型,该字段申请采用非0x8100的空闲字段,其大小可为任意大小,通常,为了与前面保持一致采用2Bytes;VlanCI采用802.1Q定义的Tag字段,大小为2Bytes,其中后12bit的域标识(VLAN ID)为VlanCI;Etype字段用于标识后面数据报文的类型大小为2Bytes;DATA字段为以太网承载的数据域,大小为46-1500Bytes;FCS字段为校验字段,大小为4Bytes。
MV地址转换的示意见图13。左侧两个宏块分别表示顶底场的宏块,它们的参考MV来自同一位置。右侧表示交叉存储的两个宏块。帧中8×16的子块即(①③)为场中8×8子块提供参考MV,即左侧的两场中①子块。同理可知其它的对应关系。
通过分析各种情况下地址转换的方式,可以在每一图像处理的开始确定性地选择当前帧场处理的地址转换模块,从而可以解决帧场混编所带来的直接模式参考地址转换的问题。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用