CN100484246C - Avs视频硬件解码器中运动补偿模块的像素预取装置 - Google Patents
Avs视频硬件解码器中运动补偿模块的像素预取装置 Download PDFInfo
- Publication number
- CN100484246C CN100484246C CNB2007100380797A CN200710038079A CN100484246C CN 100484246 C CN100484246 C CN 100484246C CN B2007100380797 A CNB2007100380797 A CN B2007100380797A CN 200710038079 A CN200710038079 A CN 200710038079A CN 100484246 C CN100484246 C CN 100484246C
- Authority
- CN
- China
- Prior art keywords
- buffer memory
- unit
- buffer
- read
- write
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Input (AREA)
Abstract
一种电子信息技术领域的AVS视频硬件解码器中运动补偿模块的像素预取装置,包括:判决控制单元、写缓存单元、读缓存单元、选通单元、前向预取缓存、后向预取缓存和重读缓存,预先从外部存储器读取预取块存放在预取缓存中,当下一个块解码时所需的参考像素落在预取的范围内,判决控制单元控制运动补偿模块通过选通单元直接从预取缓存读取数据;否则当下一个块解码时所需的参考像素全部不在或有一部分不在预取缓存中,判决控制单元则向存储器提出读请求,填充重读缓存,运动补偿模块从重读缓存读取数据。本发明减少了读取数据量和运动补偿模块对存储器接口带宽的需求,降低整个系统和存储控制器的设计难度。
Description
技术领域
本发明涉及的是一种电子信息技术领域的装置,具体地说是一种基于数字音视频编解码技术标准的AVS视频硬件解码器中运动补偿模块的像素预取装置。
背景技术
数字音视频编解码技术标准(AVS)是由中国数字音视频编解码技术标准工作组(AVS工作组)牵头创制的音视频信源编码标准,是数字电视、宽带网络流媒体、移动多媒体通信、激光视盘等数字音视频产业群的共性基础标准。在AVS视频硬件解码器的设计与实现中,存储器接口所需的带宽是制约系统性能和成本的重要因素之一。而对存储器进行读写操作的模块中,运动补偿模块是占用存储器接口带宽最多的模块,也往往是整个解码系统的瓶颈。减少运动补偿模块对存储器接口总线占用的时间和读取的数据量,对于降低存储器接口带宽和提高系统性能具有至关重要的意义。和MEPG-2或H.264相似,AVS也是把每帧划分成许多宏块(macroblock),每个宏块的大小是16 x 16像素。AVS中的每个宏块又划分成四个8 x 8块,它们是解码的基本单位。AVS的帧间预测块的大小可以是16 x 16、16 x 8、8 x 16或8 x 8,对应地,这个宏块拥有的运动矢量的个数是1、2、2或4个。在硬件解码器的设计中,统一基于8 x 8的块,即如果帧内预测块大小是16 x 16,则每个8 x 8块的运动矢量都是相同的,16 x 8和8 x 16的情况类似。一个宏块内的四个8 x 8块的运动矢量是相近的,它们指向的参考帧中的块的位置也是相近的,这是预取思想的基础。实际视频序列的统计数据亦证明这一点。
在运动补偿的过程中,每个8 x 8块可能有两个参考块,分别称之为前向参考块和后向参考块,每个参考块又包含亮度和色度两部分,称之为亮度参考块和色度参考块。AVS支持1/4亮度像素精度和1/8色度精度的运动补偿,为了插值得到一个块的非整数像素,需要读取的亮度参考块大小都大于或等于8 x 8,最大为12 x 11或11 x 12,需要读取的色度参考块的大小是5 x 5(4:2:0色度格式下)。为了计算一个非整数点像素,往往需要多得多的整数点像素来进行插值,而这些像素都存储在片外存储器SDRAM中,运动补偿模块需要访问存储接口,发送读请求,然后等待存储接口内部的仲裁器响应运动补偿模块的请求,再等待SDRAM传回来的数据。运动补偿模块会占用最长的存储接口总线时间和最大的存储接口数据吞吐量/带宽。计算表明,对于1920×1080像素、4:2:0色度格式的高清晰度电视,在每个块都须进行运动补偿的最坏情况下,运动补偿模块对存储器的读参考块的操作将占用约390兆字节每秒的带宽。而其它模块,例如显示模块,占用的带宽仅为90兆字节每秒。所以,为了减少运动补偿模块对存储器接口总线占用的时间和读取的数据量,本发明提出了AVS视频硬件解码器中运动补偿模块的像素预取装置。
经对现有技术文献的检索发现,Egbert G.T.Jaspers,Peter H.N.de With等人发表在《IEEE Transactions on Consumer Electronics》,Vol.47,No.4,November 2001(IEEE的消费电子学报)的“Bandwidth Reduction for VideoProcessing in Consumer Systems”(如何降低消费电子中视频处理的带宽)中提出致力于减少视频解码器存储器接口数据吞吐带宽的方法,其涉及技术方案主要集中在如何对图像空间的像素数据进行地址映射,以及如何选择合适的数据单位长度(总线位宽)。在运动补偿模块和存储器接口之间如何衔接以达到进一步有效地减少带宽则是现有技术中最需要解决的技术问题。
发明内容
本发明针对现有技术的不足与缺陷,提供一种介于运动补偿模块(以下简称MC模块)和存储器接口(以下简称MIU模块)之间的AVS视频硬件解码器中运动补偿模块的像素预取装置,使其有效地减少运动补偿模块对存储器接口带宽的需求,降低整个系统和存储控制器的设计难度。
在当前8 x 8块的运动补偿中,需要从外部存储器读出参考块。本发明预先从外部存储器读取比当前所需的参考块范围更大的一块,称之为预取块。参考块分为前向参考块和后向参考块,相应地预取块也分为前向预取块和后向预取块,分别存放在“前向预取缓存”、“后向预取缓存”中。在处理下一个8 x 8块的运动补偿时,如果所需的参考块落在预取块中,MC模块就直接从“前向预取缓存”、“后向预取缓存”读取数据,不需要向存储器提出读请求,即命中;否则如果下一个8 x 8运动补偿所需的参考块全部不在或有一部分不在“前向预取缓存”、“后向预取缓存”中,则向存储器提出重读参考块的请求,即命中失败,此时读到的参考块称之为重读块,填充在“重读缓存”里,MC模块从重读缓存读取数据。
本发明是通过以下技术方案实现的,本发明包括:判决控制单元、写缓存单元、读缓存单元、选通单元、前向预取缓存、后向预取缓存和重读缓存,判决控制单元接受外部的系统配置信息以及MC模块的请求、起始坐标、范围、参考帧标志、块序号;判决控制单元会输出缓存选择信号给选通单元;选通单元根据缓存选择信号,在前向预取缓存、后向预取缓存、重读缓存三者之间选出一个,把地址、读数据和写数据连在上述选出的缓存的端口上;判决控制单元进行判决后输出写缓存模式、写缓存启动信号、对应写缓存模式的起始坐标和范围给写缓存单元,并且接收写缓存单元的状态;写缓存单元输出数据请求、坐标给存储器接口,等待并接收到存储器接口输出的数据和数据有效信号;然后写缓存单元把要写的某个缓存的地址和写数据输出给选通单元;判决控制单元输出读缓存模式和读启动信号给读缓存单元;读缓存单元发送地址给选通单元并从选通单元得到读缓存数据;然后读缓存单元把从某个缓存里读到的数据输出给MC模块,同时发送数据有效信号;整个参考块的数据发送完毕后,读缓存单元向MC模块输出完成信号。
所述的判决控制单元,它和MC模块接口、写缓存单元以及读缓存单元相连,它接收MC模块接口信号包括读参考块的请求、起始坐标、范围、参考帧标志和块序号,将起始坐标、范围、写启动和写模式信号发送给写缓存单元,并等待写缓存单元返回写完成信号;将读启动和读模式信号发送给读缓存单元。所述的判决控制单元,内部判断需要读的参考块是否命中在前向预取缓存或后向预取缓存中,并根据判断结果给选通单元正确的缓存选择信号,该缓存选择信号的作用是在前向预取缓存、后向预取缓存和重读缓存中选择一个。
所述的写缓存单元,它和判决控制单元、选通单元和外部MIU接口相连,它完成从MIU请求数据并写入某个缓存的功能。读缓存单元接收判决控制单元的信号,包括起始坐标、范围、写模式、写启动,一旦写启动信号有效,根据接收到的起始坐标和范围,以一定顺序向MIU请求读数据;在写缓存单元内部,对像素坐标进行地址变换,把二维的像素坐标变换成一维的缓存地址,并把该地址发送给选通单元,同时等待MIU送回有效的数据,把该数据和地址同步地发送给选通单元,写缓存单元写完预取块或重读块后向判决控制单元反馈写完成信号。
所述的读缓存单元,它和判决控制单元、选通单元和MC模块接口相连,它完成从某个缓存读数据并送回给MC模块的功能。读缓存单元接收判决控制单元的信号包括读模式和读启动,一旦读启动信号有效,根据MC模块的要求,以一定的顺序向选通单元发送地址,并从选通单元接收从某个缓存中读出的数据,把该数据和同步的数据有效信号返回给MC模块接口,读缓存单元读完整个参考块后向MC模块接口送出完成信号。
所述的选通单元,它和判决控制单元、写缓存单元、读缓存单元、前向预取缓存、后向预取缓存、重读缓存相连,它完成选通某个缓存的功能。选通单元从判决控制单元接受缓存选择信号,该信号指示选择前向预取缓存、后向预取缓存、重读缓存中的哪一个;如果缓存选择信号指明选中的是前向预取缓存,选通单元会把写缓存单元发送给选通单元的地址和读缓存单元发送给选通单元的地址进行或操作后发送给前向预取缓存,把写缓存单元发送给选通单元的写数据发送给前向预取缓存,把前向预取缓存发送的读数据发送给读缓存单元;如果缓存选择信号指明选中的是后向预取缓存或重读缓存,采用相同的方式进行选通操作。
所述的前向预取缓存,它和选通单元相连,用来存放前向预取块。前向预取缓存从选通单元接受地址和写数据信号,前向预取缓存返回读数据给选通单元;前向预取缓存存放前向预取块,它比所需的前向参考块扩大了范围,下一个8 x 8块运动补偿所需的参考块有很大的可能性命中在该前向预取块中。
所述的后向预取缓存,它和选通单元相连,用来存放后向预取块。后向预取缓存从选通单元接受地址和写数据信号,后向预取缓存返回读数据给选通单元;后向预取缓存存放后向预取块,它比所需的后向参考块扩大了范围,下一个8 x 8块运动补偿所需的参考块有很大的可能性命中在该后向预取块中。
所述的重读缓存,它和选通单元相连,用来存放重读块。重读缓存从选通单元接受地址和写数据信号,重读缓存返回读数据给选通单元;重读缓存存放重读块,它是命中失败时读出的当前所需的参考块,不区分前向还是后向。
本发明特点在于:AVS硬件解码系统中运动补偿参考像素的预取装置预先从外部存储器读取当前解码块不需要,但是下一个解码块需要的参考像素,存放在“前向预取缓存、后向预取缓存”中。实验统计表明,一个宏块中的1、2、3号块的参考块命中在预取块中的概率(命中率)能达到平均93.3%,同时能够减少平均约24.4%的存储器接口带宽需求,即可以把运动补偿模块理论估计最高带宽由390MB/s减少到约295MB/s,降低存储控制器的设计难度并提高系统稳定性。与此同时,引入预取缓存需要增加的片上存储器很小,约2K字节。该预取装置对预取块的选取和是否命中的判断都采用的算法都较简单,易于硬件实现。
综上所述,本发明通过发掘AVS视频解码算法中运动补偿模块的动作特性,提出本预取装置以增加预取缓存和简单的控制逻辑为代价,有效地减少运动补偿模块对存储器接口带宽的需求,而运动补偿模块又是整个解码系统中对存储器带宽请求最多的模块,占整个带宽请求的近三分之二,对解决存储器接口的带宽瓶颈问题有很大意义。
附图说明
图1AVS视频一个宏块进行运动补偿时的子块划分示意图;
图2一个宏块内部的四个块的运动矢量的示意图;
图3预取装置在解码系统中位置的示意图;
图4预取装置的内部结构示意图;
图5预取块和参考块的位置及范围的示意图。
具体实施方式
以下结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
本实施例定义每个宏块内的四个8 x 8块从左到右,从上到下分别命名为0号、1号、2号和3号块,具体实施过程如下:
1)处理一个宏块的0号块时,MC模块向预取装置发出请求,预取装置请求MIU,填充预取缓存;
处理0号块时,判决控制单元会根据MC模块给出的参考帧标志给选通单元一个缓存选择信号,选通前向预取缓存或后向预取缓存。设MC模块给出的起始坐标是(x0,y0),范围是(rx0,ry0)。则判决控制单元给写缓存单元的起始坐标则是(x0,y0),范围是(rx0+ex,ry0+ey),写模式是“写预取缓存”,发出写启动信号。写缓存单元接收到来自判决控制单元的写启动信号后,向MIU提出读请求和读坐标,该坐标从(x0,y0)一直递增到(x0+rx0+ex,y0+ry0+ey),覆盖这个以(x0,y0)为起点,宽为rx0+ex,高为ry0+ey的预取块;同时对该坐标进行地址变换,把二维的像素坐标变换成一维的预取缓存的地址。等待MIU发出数据有效信号,把MIU返回的数据通过选通单元,写入前向预取缓存或后向预取缓存。如果0号块有双向的参考块,则在填充完前向预取缓存后还要填充后向预取缓存。当预取块(前向和/或后向)被写入预取缓存后,写缓存单元给判决控制单元返回一个写完成信号。
2)MC模块从预取缓存取得0号块所需的参考块;
判决控制单元接收到写缓存单元的“参考块完成”信号,立即对读缓存单元发出读启动信号和读模式,读模式为“读预取缓存”。读缓存单元按照MC模块需要的像素顺序产生预取缓存的地址,并把该地址通过选通单元输出给前向或后向预取缓存;再把从预取缓存读到的数据返回给MC模块,同时给出数据有效信号。如果0号块有双向的参考块,在读完前向预取缓存后还要读后向预取缓存。当参考块(前向和/或后向)都输出给MC模块后,读缓存单元向MC模块发出0号块的读完成信号。
3)处理1号块时,MC模块向预取装置发出请求,预取装置判断所需的参考块是否命中在预取缓存中;
如果块序号为1,预取装置中的判决控制单元首先判断所需的参考块是否已经存在于预取块中,即是否“命中”。命中的条件是:首先,如果当前的参考块方向是“前向”,前向预取缓存中必须有数据,而且参考帧必须相同;如果当前的参考块方向是“后向”,后向预取缓存中必须有数据,而且参考帧必须相同。否则直接判定为命中失败。其次,如果预取缓存中的确存有相同参考帧的数据,判断参考块所需的范围是否在预取块中,即,设所需参考块的起始坐标为(x1,y1),范围是(rx1,ry1),要满足
如果满足上式,即命中;否则,命中失败。
4)如果命中,MC模块从预取缓存中取得1号块所需的参考块;
判决控制单元得到“命中”的结果后,不启动写缓存单元,直接启动读缓存单元,读模式为“读预取缓存”。读缓存单元按照MC模块需要的像素顺序产生预取缓存的地址,并把该地址通过选通单元输出给前向或后向预取缓存;再把从预取缓存读到的数据返回给MC模块,同时给出数据有效信号。如果1号块有两个参考块,回到步骤(c),处理1号块的另一个方向的参考块。当参考块(前向和/或后向)都输出完毕后,读缓存单元向MC模块发出读完成信号。
5)如果未命中,预取装置请求MIU,填充重读缓存,MC模块从重读缓存中取得1号块所需的参考块;
判决控制单元得到“命中失败”的结果后,启动写缓存单元,写模式为“写重读缓存”。写缓存单元接收到来自判决控制单元的写启动信号后,向MIU提出读请求和读坐标,该坐标从(x1,y1)一直递增到(x1+rx1,y1+ry1);同时对该坐标进行地址变换,把二维的像素坐标变换成一维的重读缓存的地址。等待MIU发出数据有效信号,把MIU返回的数据通过选通单元,写入重读缓存。当整个重读块写完后,写缓存单元给判决控制单元返回一个“重读完成”的状态信号。判决控制单元接收到这个“重读完成”信号后,立即对读缓存单元发出读启动信号和读模式,读模式为“读重读缓存”。读缓存单元按照MC模块需要的像素顺序产生预取缓存的地址,并把该地址通过选通单元输出给重读缓存;再把从重读缓存读到的数据返回给MC模块,同时给出数据有效信号。如果1号块有两个参考块,回到步骤(c),处理1号块的另一个方向的参考块。当参考块(前向和/或后向)都输出完毕后,读缓存单元向MC模块发出读完成信号。
6)按步骤(3)到步骤(5)所述处理该宏块的2号块和3号块;
读2号块和3号块的参考块时,采用和1号块相同的方法:即先判决所需的参考像素范围是否命中在预取缓存中;如果命中,MC模块从预取缓存中读取所需的参考块;如果未命中,预取装置请求MIU,填充重读缓存,MC模块从重读缓存中读取所需的参考块。
7)按步骤(1)到步骤(6)完成所有宏块的运动补偿。
对于每一个宏块,都在读0号块的参考块时更新预取缓存,然后0号块所需的参考块从预取缓存中读取;读1、2、3号块的参考块时首先判决所需参考块是否命中在预取缓存里;如果命中,直接从预取缓存读参考块,不需要访问MIU,如果命中失败,访问MIU,填充重读缓存,从重读缓存中读参考块。
图1示意了AVS对一个宏块进行运动补偿时的四种划分方法。可以按16 x 16、16 x 8、8 x 16或8 x 8的块大小进行运动补偿,对应拥有1、2、2或4个运动矢量。在硬件解码器的设计中,运动补偿统一基于8 x 8的块。一个宏块中有4个8 x 8块,分别标志为0号至3号。由于AVS视频运动补偿中的插值算法,为了插值出半像素或1/4像素,需要对周围多个像素进行滤波;又由于总线位宽和映射方式的限制,(例如,通常这类视频解码器的总线位宽为64比特,即一次内存访问会读出8个像素,即使只有1个像素是真正需要,也必须读出8个像素),相邻块的参考块之间会有很多重复。如果重复从外部存储器读取这些数据,是对存储器接口的带宽的巨大浪费。本实施例所述的预取装置能够有效地减少这种浪费。
图2是一个宏块内部的四个块的运动矢量的示意图,当前帧中某个宏块的4个8 x 8块有各自对应的运动矢量,在参考帧分别指向了各自的参考块。经过对多种性质的AVS码流的统计,由于这四个运动矢量的大小方向十分接近,四个参考块都落在一个范围内。经过对大量各种尺寸和特性的AVS码流的统计,平均超过90%的宏块内部的四个块的运动矢量指向相同的参考帧。并且,这四个运动矢量的平均差异很小,分别是:x方向0.13个像素,y方向0.08个像素。这种“局部性”使得依据0号块的运动矢量,预先取出一块预取块后,1号、2号、3号块需要的参考块有很大的概率命中在参考块中。
图3是预取装置在解码系统中位置的示意图,预取装置介于运动补偿模块和存储器接口模块之间,对运动补偿模块无任何影响。
图4是预取装置的内部结构示意图,其中判决控制单元是预取装置的核心部分,处理0号块时,它负责启动写缓存单元,把预取块写入相应的预取缓存,写模式为“写预取缓存”;然后启动读缓存单元,把0号块需要的参考块从预取缓存中读出,送给MC模块,读模式为“读预取缓存”。处理1、2、3号块时,首先判断所需的参考块是否命中在预取缓存中。如果命中,则启动读缓存单元,读模式为“读预取缓存”;如果没有命中,则先启动写缓存单元,写模式为“写重读缓存”,把所需参考块写入重读缓存,然后再启动读缓存单元,读模式为“读重读缓存”,把所需的参考块送给MC模块。
写缓存单元完成从MIU请求数据并写入某个缓存的功能。读缓存单元完成从某个缓存读数据并送回给MC模块的功能。选通单元根据判决控制单元发出的缓存选择信息选择,把某一个缓存的地址、读数据、写数据、写使能端口和写缓存单元或读缓存单元的对应端口连接起来。
图5是预取块和参考块的位置及范围的示意图,表明预取块的起点和0号块的参考块的起点相同,但是比0号块的参考块范围大。0号块的参考块的范围是(rx0,ry0),而预取块的范围是(rx0+ex,ry0+ey)。ex和dy增大,命中率会增大,但是向MIU读取的数据量也会增加。实验表明,当预取块的范围设为比参考块在x方向和y方向上分别多8个像素的情况下,(即ex=8,ey=8),可以达到命中率(平均93.3%)和减少读取数据量(平均24.4%)的最佳平衡。
预取缓存和重读缓存的大小设定是这样的:设总线位宽是64比特,每个64比特的数据单元是横向连续的8个亮度像素,或横向连续的4对色度像素(Cb和Cr)。则对一个8 x 8的亮度块进行运动补偿,最大需要24*12的区域,对一个4 x 4的色度块进行运动补偿,最大需要8*5的区域。预取块比参考块有所扩大,即对亮度来说,扩大到32*20,对色度来说,扩大到12*9。所以前向预取缓存需要存储的大小是32*20+2*12*9=856字节。后向预取缓存的大小和前向相同。重读缓存的大小是24*12+2*8*5=368字节。总计2080字节。
Claims (8)
1、一种AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征在于,包括:判决控制单元、写缓存单元、读缓存单元、选通单元、前向预取缓存、后向预取缓存和重读缓存;判决控制单元接受外部的系统配置信息以及运动补偿模块的请求、起始坐标、范围、参考帧标志、块序号,判决控制单元会输出缓存选择信号给选通单元;选通单元根据缓存选择信号,在前向预取缓存、后向预取缓存、重读缓存三者之间选出一个,把地址、读数据和写数据连在上述选出的缓存的端口上;判决控制单元进行判决后输出写缓存模式、写缓存启动信号、对应写缓存模式的起始坐标和范围给写缓存单元,并且接收写缓存单元的状态;写缓存单元输出数据请求、坐标给存储器接口,等待并接收到存储器接口输出的数据和数据有效信号,然后写缓存单元把要写的某个缓存的地址和写数据输出给选通单元;判决控制单元输出读缓存模式和读启动信号给读缓存单元,读缓存单元发送地址给选通单元并从选通单元得到读缓存数据,然后读缓存单元把从某个缓存里读到的数据输出给运动补偿模块,同时发送数据有效信号;整个参考块的数据发送完毕后,读缓存单元向运动补偿模块输出完成信号;
所述的运动补偿模块按照以下步骤读取参考块:将宏块内的四个8x8块从左到右,从上到下分别命名为0号、1号、2号和3号块;处理一个宏块的0号块时,运动补偿模块向预取装置发出请求,预取装置请求存储器接口,填充预取缓存;运动补偿模块从预取缓存取得0号块所需的参考块;处理1号块时,运动补偿模块向预取装置发出请求,预取装置判断所需的参考块是否命中在预取缓存中;如果命中,运动补偿模块从预取缓存中取得1号块所需的参考块;如果未命中,预取装置请求存储器接口,填充重读缓存,运动补偿模块从重读缓存中取得1号块所需的参考块;按读取1号块相同的步骤处理该宏块的2号块和3号块。
2、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的判决控制单元,它和运动补偿模块接口、写缓存单元以及读缓存单元相连,它接收运动补偿模块接口信号,包括读参考块的请求、起始坐标、范围、参考帧标志和块序号,将起始坐标、范围、写启动和写模式信号发送给写缓存单元,并等待写缓存单元返回写完成信号;将读启动和读模式信号发送给读缓存单元;
所述的判决控制单元,内部判断需要读的参考块是否命中在预取缓存中,并根据判断结果给选通单元正确的缓存选择信号,该缓存选择信号的作用是在前向预取缓存、后向预取缓存和重读缓存中选择一个。
3、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的写缓存单元,它和判决控制单元、选通单元和外部存储器接口相连,写缓存单元接收判决控制单元的信号,包括起始坐标、范围、写模式、写启动,一旦写启动信号有效,根据接收到的起始坐标和范围向存储器请求读数据;在写缓存单元内部,对像素坐标进行地址变换,把二维的像素坐标变换成一维的缓存地址,并把该地址发送给选通单元,同时等待存储器接口送回有效的数据,把该数据和地址同步地发送给选通单元,写缓存单元写完预取块或重读块后向判决控制单元反馈写完成信号。
4、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的读缓存单元,它和判决控制单元、选通单元和运动补偿模块接口相连,读缓存单元接收判决控制单元的信号包括读模式和读启动,一旦读启动信号有效,根据运动补偿模块的要求,以一定的顺序向选通单元发送地址,并从选通单元接收从某个缓存中读出的数据,把该数据和同步的数据有效信号返回给运动补偿模块接口,读缓存单元读完整个参考块后向运动补偿模块接口送出完成信号。
5、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的选通单元,它和判决控制单元、写缓存单元、读缓存单元、前向预取缓存、后向预取缓存、重读缓存相连,选通单元从判决控制单元接受缓存选择信号,该信号指示选择前向预取缓存、后向预取缓存、重读缓存中的哪一个;如果缓存选择信号指明选中的是前向预取缓存,选通单元会把写缓存单元发送给选通单元的地址和读缓存单元发送给选通单元的地址进行或操作后发送给前向预取缓存,把写缓存单元发送给选通单元的写数据发送给前向预取缓存,把前向预取缓存发送的读数据发送给读缓存单元;如果缓存选择信号指明选中的是后向预取缓存或重读缓存,采用相同的方式进行选通操作。
6、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的前向预取缓存,它和选通单元相连,用来存放前向预取块;前向预取缓存从选通单元接受地址和写数据信号,前向预取缓存返回读数据给选通单元;前向预取缓存存放前向预取块,它比所需的前向参考块扩大了范围,后续要读的参考块有很大的可能性命中在该前向预取块中。
7、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的后向预取缓存,它和选通单元相连,后向预取缓存从选通单元接受地址和写数据信号,后向预取缓存返回读数据给选通单元;后向预取缓存存放后向预取块,它比所需的后向参考块扩大了范围,下一个8x8块运动补偿所需的参考块有很大的可能性命中在该后向预取块中。
8、根据权利要求1所述的AVS视频硬件解码器中运动补偿模块的像素预取装置,其特征是,所述的重读缓存,它和选通单元相连,重读缓存从选通单元接受地址和写数据信号,重读缓存返回读数据给选通单元;重读缓存存放重读块,它是命中失败时读出的当前所需的参考块,不区分前向还是后向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100380797A CN100484246C (zh) | 2007-03-15 | 2007-03-15 | Avs视频硬件解码器中运动补偿模块的像素预取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100380797A CN100484246C (zh) | 2007-03-15 | 2007-03-15 | Avs视频硬件解码器中运动补偿模块的像素预取装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101022551A CN101022551A (zh) | 2007-08-22 |
CN100484246C true CN100484246C (zh) | 2009-04-29 |
Family
ID=38710180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100380797A Expired - Fee Related CN100484246C (zh) | 2007-03-15 | 2007-03-15 | Avs视频硬件解码器中运动补偿模块的像素预取装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100484246C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100574460C (zh) * | 2008-01-31 | 2009-12-23 | 上海广电(集团)有限公司中央研究院 | Avs帧内预测参考样本提取方法 |
CN101442387B (zh) * | 2008-12-22 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种数据反压的处理方法和装置 |
CN101895767B (zh) * | 2009-05-22 | 2013-09-18 | 上海爱信诺航芯电子科技有限公司 | Avs帧内预测参考像素储存更新方法 |
CN101583027B (zh) * | 2009-06-10 | 2011-12-07 | 中兴通讯股份有限公司 | 一种实时缓存图像数据的方法及移动终端 |
CN102316316B (zh) * | 2010-07-07 | 2013-11-20 | 中国科学院微电子研究所 | 一种嵌入式视频解码的运动补偿参考块数据读取装置及方法 |
CN102377999B (zh) * | 2010-08-13 | 2014-04-30 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs编码器的搜索窗缓冲装置 |
CN102625091B (zh) * | 2011-01-27 | 2015-01-07 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102625094B (zh) * | 2011-01-27 | 2014-08-13 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102186086B (zh) * | 2011-06-22 | 2013-06-19 | 武汉大学 | 一种基于avs的帧内预测方法 |
JP2014138242A (ja) * | 2013-01-16 | 2014-07-28 | Sony Corp | 画像処理装置および画像処理方法 |
CN103297780A (zh) * | 2013-06-06 | 2013-09-11 | 上海高清数字科技产业有限公司 | 提高解码速率的方法及系统 |
CN103634604B (zh) * | 2013-12-01 | 2017-01-11 | 北京航空航天大学 | 一种面向多核dsp运动估计的数据预取方法 |
CN105446651B (zh) * | 2014-05-26 | 2018-12-11 | 腾讯科技(北京)有限公司 | 内存镜像方法和系统与数据发送装置和数据接收装置 |
CN105100669A (zh) * | 2015-07-03 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 数字图像转换方法和装置 |
CN107168660B (zh) * | 2016-03-08 | 2024-05-10 | 成都锐成芯微科技股份有限公司 | 图像处理缓存系统及方法 |
CN107454427A (zh) * | 2016-05-31 | 2017-12-08 | 福州瑞芯微电子股份有限公司 | 基于hevc的帧间预测方法和设备 |
CN115529459B (zh) * | 2022-10-10 | 2024-02-02 | 格兰菲智能科技有限公司 | 中心点搜索方法、装置、计算机设备、存储介质 |
-
2007
- 2007-03-15 CN CNB2007100380797A patent/CN100484246C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101022551A (zh) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100484246C (zh) | Avs视频硬件解码器中运动补偿模块的像素预取装置 | |
CN101116341B (zh) | 用于进行视频运动补偿的高速缓存方法及设备 | |
US5978509A (en) | Low power video decoder system with block-based motion compensation | |
CN102246522B (zh) | 智能的解码图片缓冲 | |
US8019000B2 (en) | Motion vector detecting device | |
CN101252694B (zh) | 基于块的视频解码的帧存储压缩和地址映射系统 | |
CN101527849B (zh) | 集成视频解码器的存储系统 | |
CN100579225C (zh) | 图像数据的存取和解码方法及解码装置 | |
CN103686044A (zh) | 像素缓冲 | |
CN103533366A (zh) | 用于视频运动补偿的缓存方法与装置 | |
CN102223543B (zh) | 参考像素读取存储系统 | |
US20120147023A1 (en) | Caching apparatus and method for video motion estimation and compensation | |
CN101783958A (zh) | Avs视频标准中时域直接模式运动矢量的计算方法和装置 | |
Zheng et al. | A novel VLSI architecture of motion compensation for multiple standards | |
US20130127887A1 (en) | Method for storing interpolation data | |
CN101304520A (zh) | 影像解码系统及其运动补偿的自适性快取方法 | |
Zuo et al. | A Cache Hardware design for H. 264 encoder | |
US20070109875A1 (en) | Data storage method and information processing device using the same | |
CN102625091B (zh) | 一种基于avs的帧间预测方法 | |
Bao et al. | An advanced hierarchical motion estimation scheme with lossless frame recompression for ultra high definition video coding | |
Li et al. | A cache-based bandwidth optimized motion compensation architecture for video decoder | |
Chao et al. | A motion compensation system with a high efficiency reference frame pre-fetch scheme for QFHD H. 264/AVC decoding | |
Liu et al. | Design of an H. 264/AVC decoder with memory hierarchy and line-pixel-lookahead | |
Yoon et al. | Cache optimization for H. 264/AVC motion compensation | |
Zhou et al. | A 16–65 cycles/MB H. 264/AVC motion compensation architecture for Quad-HD applications |
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: 20090429 Termination date: 20170315 |
|
CF01 | Termination of patent right due to non-payment of annual fee |