书签 分享 收藏 举报 版权申诉 / 14

用于向分级运动估计器提供最佳数据的装置及其方法.pdf

  • 上传人:111****112
  • 文档编号:1157855
  • 上传时间:2018-04-03
  • 格式:PDF
  • 页数:14
  • 大小:512.78KB
  • 摘要
    申请专利号:

    CN00126200.9

    申请日:

    2000.08.25

    公开号:

    CN1286573A

    公开日:

    2001.03.07

    当前法律状态:

    终止

    有效性:

    无权

    法律详情:

    未缴年费专利权终止IPC(主分类):H04N 7/32申请日:20000825授权公告日:20040225终止日期:20140825|||授权|||公开|||实质审查的生效申请日:2000.8.25

    IPC分类号:

    H04N7/32

    主分类号:

    H04N7/32

    申请人:

    三星电子株式会社;

    发明人:

    郑依哲

    地址:

    韩国京畿道

    优先权:

    1999.08.27 KR 35841/1999

    专利代理机构:

    柳沈知识产权律师事务所

    代理人:

    马莹

    PDF完整版下载: PDF下载
    内容摘要

    一种向分级运动估计器提供最佳数据的装置及其方法。该装置包括存储当前和先前帧图象数据的SDRAM、存储当前和先前宏块图象数据的SRAM、和生成运动向量和绝对差之和(SAD)的运动估计器。包括运动向量和SAD的预定位长度的数据被转换为由SRAM形成的确定位数长度的数据,并存储在SDRAM中。SDRAM中的数据以预定脉冲串长度为单位读取。通过仅存储上层图象块的大小,向运动估计器提供最佳数据,使存储器的尺寸最小。

    权利要求书

    1: 一种数据提供装置,包括: 动态存储单元和静态存储单元,均用于存储图象数据; 运动估计器,用于通过所述动态存储单元和所述静态存储单元生成运动 向量和绝对差之和(SAD);以及 数据提供单元,用于提供所述运动估计器需要的数据, 其中所述数据提供单元包括: 第一地址生成器,用于以宏块为单位读取存储在所述动态存储单元中的 图象数据,将所述读取的图象数据存储在所述静态存储单元中,以宏块为单 位从所述运动估计器向所述动态存储单元写入生成的运动向量和SAD; FIFO模块单元,用于向所述静态存储单元,以脉冲串为单位,存储由 所述第一地址生成器读取的所述动态存储单元的图象数据,并以脉冲串为单 位向所述动态存储单元传送所述运动向量和所述SAD;以及 第二地址生成器,用于通过所述FIFO单元,按照分级电平,以宏块为 单位读取存储在所述动态存储单元的图象数据之中的数据,将所述读取的图 象数据写入所述运动估计器的内部寄存器,并将所述运动向量和所述SAD 从所述运动估计器写入所述静态存储单元。
    2: 如权利要求1所述的数据提供装置,其中,所述第一地址生成器包 括: 读单元,用于以宏块为单位,连续读取存储在所述动态存储单元中的当 前帧数据和先前帧数据,所述数据对应于预定数量的操作单元;以及 写单元,用于从所述静态存储单元向所述动态存储单元写入以宏块为单 位由所述运动估计器生成的运动向量和多个SAD。
    3: 如权利要求1所述的数据提供装置,其中,所述FIFO模块单元包 括: 运动估计器FIFO单元,用于在预定数量的时钟内以预定脉冲串长度从 所述动态存储单元连续读取图象数据,将所述读取的图象数据存储在其内部 寄存器中,并在预定数量的时钟内转换所述图象数据的位单元为预定的位单 元,并向所述静态存储单元输出所述转换的位数据;以及 运动向量FIFO单元,用于在预定数量的时钟内从所述静态存储单元连 续读取运动向量和SAD,在其寄存器中存储所述读取的数据,然后在预定 数量的时钟内以脉冲串为单位在所述动态存储单元存储所述读取的数据。
    4: 如权利要求1所述的数据提供装置,其中,所述第二地址生成器包 括: 读单元,用于按照所述数据的高级,中间级和低电平,在所述运动估计 器需要的任何时刻,读取存储在所述静态存储单元中的当前帧数据和先前帧 数据,并在所述运动估计器的寄存器中存储所述读取的数据;以及 写单元,用于按照操作单元,从所述运动估计器向所述静态存储单元写 入最终运动向量和最终SAD。
    5: 如权利要求4所述的数据提供装置,其中,所述读单元在高电平搜 索中生成地址,其中,读取第0位数据,读取第N位数据,读取第2 * N位 数据,等等,在中间电平搜索中,通过在对每个时钟将地址值增加1后从每 一个地址中移去最低有效位来生成二次抽样地址,并且,在低电平搜索中生 成地址,其中,在每两个时钟将地址值增加1,并从每一个地址中移去最低 有效位后,对每个时钟逐个地顺序读取数据。
    6: 如权利要求1到5之中任一所述的数据提供装置,其中,所述动态 存储单元为SDRAM及所述静态存储单元为SRAM。
    7: 一种数据提供方法,包括用于存储当前帧图象数据和先前帧图象数 据的动态存储单元,用于存储当前宏块图象数据和先前宏块图象数据的静态 存储单元,及用于生成运动向量和绝对差之和(SAD)的运动估计器,所述方 法包括: 向所述运动估计器提供预定位数的数据; 将预定数量的数据转换为确定位数长度的数据,每一个数据均包含预定 位长度,包括在所述运动估计器以宏块为单位处理数据之后生成的运动向量 和SAD,并在所述动态存储单元中存储所述转换后的数据;以及 由主机以预定脉冲串长度为单位读取存储在所述动态存储单元中的数 据。

    说明书


    用于向分级运动估计器提供最佳数据的装置及其方法

        本发明涉及用于运动估计的数据提供装置和方法,特另涉及用于向分级运动估计器提供最佳数据的装置和方法。

        一般地,图象通信系统,如数字电视的运动图象存储装置、运动图象电话会议、或图象电话,发送和接收很多包括实时运动图象的多媒体信息。图象通信系统中的多媒体信息变得复杂,但传送这些信息的通信网络并没有跟上多媒体信息的变化。特别地,运动图象构成很大比例的多媒体信息,而这需要压缩技术。压缩技术的基本思路是消除视频序列中空间和时间上的冗余码。运动补偿预测编码代表一种从多媒体信息中消除冗余的方法。

        在运动补偿预测码中,从时间轴观测的图象的运动可通过搜索先前帧(t-1)与当前帧(t)之间的匹配块的位置来进行估计。在现有技术中,全搜索(fullsearch)和分级搜索(hierarchical search)已被推荐为运动估计算法。全搜索需要很大的计算量,并必须有存储器(例如,静态随机存取存储器(SRAM)或同步动态随机存取存储器(SDRAM)),用于存储当前图象的宏块和对应于先前图象的搜索区域地宏块。分级搜索也必须包括可用于全搜索的存储图象的存储器,只是计算量大大地减少了。这样,用于操作传统的运动估计量算法的硬件需要一个大的图象存储器,而只是用于运动估计器,这样增加了芯片的面积。

        为解决上述问题,本发明的一个目的是提供只存储上层图象块的大小,而不是整个帧,并为运动估计器提供最佳数据的装置及其方法。

        为达到上述目的,本发明提供了一个数据提供装置,包括:判定存储器用途的判定器;存储当前及先前帧的图象数据的SDRAM;存储当前及先前帧的宏块图象数据的SRAM;及产生运动向量和绝对差之和(SAD)的运动估计器,此装置包括:SDRAM地址生成器,用于以宏块为单位,读取存储在SDRAM中的当前和先前帧的图象数据,并在SRAM中存储读取的图象数据,及从SRAM向SDRAM写从运动估计器以宏块为单位产生的运动向量和SAD;FIFO模块单元,用于从SDRAM以脉冲串(burst)为单位读取帧图象数据并在SRAM存储所读取的数据,并从SRAM向SDRAM以脉冲串为单位传送运动向量和SAD;以及SRAM地址生成器,用于根据按照分级搜索电平从SRAM读取当前和先前帧的宏块图象数据中的数据,将读取的图象数据写入运动估计器的内部寄存器,并将运动向量和SAD从运动估计器写入SRAM。

        通过参照附图以及优选实施例的详细说明,将会更清楚地理解本发明的上述目的和优点,附图中:

        图1为按照本发明,用于分级运动估计器的最佳数据提供装置的方框图;

        图2为图1中SDRAM读单元210的详细图;

        图3为图2中SDRAM读单元210的时序图;

        图4为图1中SDRAM写单元280的详细图;

        图5为图4中SDRAM写单元280的时序图;

        图6为图1中ME_FIFO单元250的详细图;

        图7为图1中MV_FIFO单元270的详细图;

        图8为图1中SDRAM读单元230的详细图;以及

        图9为图1中MV_FIFO写单元294的详细图。

        参考图1,按照本发明的存储器数据提供装置包括:判定器110;用于存储当前帧图象和先前帧图象的SDRAM 120;用于存储当前宏块图象数据和先前宏块图象数据的SRAM 140;用于产生运动向量(MV)和绝对差之和(SAD)的运动估计器(ME)130;及安装于判定器110、SDRAM 120、ME 130和SRAM 140之间用于收发进行运动估计所需要的数据的数据提供单元200。数据提供单元200包括:与寄存器堆单元240对应的数据设定模块;具有SDRAM读单元210和SDRAM写单元280的SDRAM地址发生器模块;具有ME_FIFO单元250和MV_FIFO单元270的FIFO模块;具有SRAM写单元220、SRAM读单元230、MV_SRAM读单元290和MV_SRAM写单元294的SRAM地址发生器模块;以及对应于16-8位转换器260的位转换模块。

        数据提供单元200向运动估计器130提供8位数据DO_8用于运动估计,将包括由ME 130产生的一个运动向量、一个最终SAD和四个中间SAD值在内的总共16位数据转换为3个32位数据DO_32,使运动校正器(未示出)和主机读出脉冲串长度为3的数据,并将32位数据存储在SDRAM 120中。

        图1的数据提供装置将参考图2至9所示的模块来描述。

        寄存器堆单元240为初始数据设定模块,具有提供运动估计的数据所需要的初始地址偏置值和命令,此命令和偏置值由主机设定。在寄存器堆单元240中,期望的启始偏置值或命令由通过32位数据总线D1 32从SDRAM 120接收的数据和从判定器110接收的数据允许或禁止。

        SDRAM地址生成模块(210和280)基本上根据脉冲串长度、CIF/QCIF和数据宽度生成SDRAM 120的读/写地址,并与由控制模块(未示出)输出的数据请求信号DATA_REQ、脉冲串长度数据BURST_LENGTH和读/写信号NRW同步地向判定器110输出读/写地址。另外,SDRAM地址生成模块(210和280)以宏块为单位读取存储在SDRAM 120中的当前帧图象信息和先前帧图象信息。这里,SDRAM 120的数据宽度为32位,SRAM 140的数据宽度为16位,由运动估计器130处理的像素数据宽度为8位。因此,为了从SDRAM120读取16×6像素数据,SDRAM地址生成模块(210和280)实际上只需要32位数据,是宏像素(macro pixels)全部数量的四分之一。

        当读取脉冲串长度为4的32位数据时,SDRAM地址生成模块(210和280)实际上仅满足16位地址。SDRAM地址生成模块(210和280)读取当前16×6宏数据,然后读取存储在SDRAM 120中的图象帧之中的48×8先前图象数据。这个过程连续操作的次数等于操作单元的数量。当在一个图象帧的操作结束时,新的当前/先前地址启始偏置从主机接收到,并开始一个新的帧的操作。

        参考图2,SDRAM读单元210接收复位信号RESET、时钟信号CLK、允许信号ENABLE、偏置更新信号OFFSET_UPDATE、格式分类信号ME_CIF、第一地址启始偏置值ME_PRE_SDRAM_START、和第二地址启始偏置值ME_CURR_SDRAM_START,并产生SDRAM读地址。并且,SDRAM读单元210以宏块为单位连续读取存储在SDRAM 140中的当前帧数据和先前帧数据,其次数等于操作单元的数量。

        更具体地说,SDRAM读单元接收用于设定初始地址的先前/当前地址启始偏置值ME_PRE_SDRAM_START/ME_CURR_SDRAM_START,和用于分类CIF/QCIF的格式分类信号ME_CIF。为了防止地址偏置值在复位后被设定在寄存器中,在接收允许信号ENABLE前,接收一个用于装载地址启始偏置值ME_PRE_SDRAM_START或ME_CURR_SDRAM_START的偏置更新信号OFFSET_UPDATE。如图3的时序图所示,SDRAM 120的地址SDRAM_ADDR和数据DATA_32将考虑到几个不同信号的时序而施加到判定器110,这几个信号为时钟信号CLK、读/写控制信号NRW、数据请求信号DATA_REQ、脉冲串长度数据BURST_LENGTH、确认信号ACK、和数据传送信号DATA_IN_TRANS。

        参考图4,SDRAM写单元280接收复位信号RESET、时钟信号CLK、允许信号ENABLE、运动向量偏置更新信号MV_OFFSET_UPDATE、格式分类信号ME_CIF、和地址启始偏置值ME_SDRAM_START,并产生SDRAM写地址。

        更具体地说,SDRAM写单元280生成用于将由ME 130根据一个宏块从SRAM 140产生的运动向量MV和多个SAD存储到SDRAM 120中的SDRAM写地址SDRAM_WRITE_ADDR。这里,SDRAM写单元280接收地址启始偏置ME_SDRAM_START(即用于存储运动向量MV和SAD的初始地址)和用于分类CIF/Q CIF的格式分类信号ME_CIF。为了防止地址偏置值在复位后被设定在寄存器中,在允许信号ENABLE接收前,接收用于向SDRAM读单元210装载地址启始偏置ME_SDRAM_START的偏置更新信号OFFSET_UPDATE。

        如图5所示的时序图,SDRAM 120的地址SDRAM_ADDR和实际上将要被存储的数据DATA_32,将考虑到几个不同信号的时序而施加到判定器110,这几个信号为时钟信号CLK、读/写控制信号NRW、数据请求信号DATA_REQ、脉冲串长度数据BURST_LENGTH、确认信号ACK、和数据传送信号DATA_IN_TRANS。

        参考图6和7,具有ME_FIFO单元250和MV_FIFO单元270的FIFO模块以脉冲串为单位从SRAM 140向SDRAM 120传送运动向量和SAD。在FIFO模块向SDRAM 120要求数据及地址之后,直到实际数据被接收到,存在着大约7个时钟的延迟。这里,FIFO模块一次读取一个地址的数据是带宽的很大消耗。这样,为了解决这个问题,FIFO模块从SDRAM 120以脉冲串为单位读取数据以改进系统的整体速度。因此,由于SRAM 140的数据宽度是16而SDRAM 120的数据宽度是32,所以,FIFO模块需要与读取和存储32位图象数据的脉冲串的长度相当的容量。例如,如果脉冲串长度为4,则使用数据宽度为32且数据深度为4的FIFO,而如果脉冲串长度为3,则使用数据宽度为32且数据深度为3的FIFO。施加到FIFO模块的数据DATA_32需要从判定器110接收的数据传送信号DATA_IN_TRANS和确认信号ACK作为结束时序,如图3和5所示。从SDRAM 120利用脉冲串长度4来读取32位图象数据,所以FIFO模块基本上具有数据宽度32和深度4。

        参考图6,ME_FIFO单元250由生成读/写信号的ME_FIFO控制器610、和进行实际FIFO操作的ME_FIFO单元620组成。

        当接收到允许信号ENABLE时,ME_FIFO控制器610在4个和8个时钟内分别生成写允许信号WE和读允许信号RE,输出写终止信号FIFO_W_END,以在有限状态机(FSM)完成状态转移。ME_FIFO单元620根据在4个时钟内生成的写允许信号WE以脉冲串长度4连续从SDRAM 120读取4个32位图象数据,将读取的数据存储在其内部寄存器中,并根据在8个时钟内生成的读允许信号RE向SRAM 140输出16位数据DATA_16。这里,ME_FIFO单元620需要2个时钟的时长转换32位数据为16位数据。

        参考图7,MV_FIFO单元270由生成写允许信号WE和读允许信号RE的MV_FIFO控制器710、和进行实际FIFO操作的MV_FIFO单元720组成。

        当接收到允许信号ENABLE时,MV_FIFO控制器710在4个和8个时钟内分别生成写允许信号WE和读允许信号RE,输出写终止信号FIFO_W_END,以在FSM完成状态转移。MV_FIFO单元620基本上顺次在6个时钟内从SRAM 140读取6个16位数据,即一个运动向量(Mvx,Mvy)、一个最终SAD和四个中间SAD,将读取的数据存储在其内部寄存器中,然后在3个时钟内将16位数据转换为32位数据,并以脉冲串长度3输出要写入SDRAM 120的数据DATA_16及从判定器110接收到的确认信号ACK和数据传送信号DATA_IN_TRANS。这里,MV_FIFO单元720需要1个时钟的时长转换16位数据为32位数据。

        参考图8和9,SRAM地址生成模块(220+230+290+294)生成一个用于从/向异步SRAM读/写数据的12位SRAM地址。SRAM写单元220从SDRAM120向SRAM 140写入图象数据,简单增加计数器(未示出),当SRAM写单元被允许时,在每个时钟将地址从0到1279加1。这里,地址0到255用于当前图象数据,地址256到1279用于先前图象数据。SRAM读单元230向ME 130提供存储在SRAM 140中的图象数据,在任意需要的时刻,向ME130提供存储于SRAM 140中的当前和先前宏图象数据中的需要的数据,并将同样的数据存储在ME 130的内部寄存器中。

        参考图8,SRAM读单元230由SRAM读控制器810和地址生成器820组成,SRAM读控制器810用于响应于复位信号RESET、时钟信号CLK、允许信号ENABLE、请求信号REQ和状态信号STATUS,输出状态控制信号STATE、CNT和V_N_STATE、SRAM读终止信号SDRAM_READ_END和确认信号ACK,地址生成器820响应于复位信号RESET、时钟信号CLK和向量值MVx和Mvy,实际生成地址ADDR。

        地址生成器820按照分级搜索的高电平、中间电平和低电平生成不同的地址。就是说,在高电平数据的情况下,最低有效位(LSB)将被从地址ADDR中移去,在任意其他地址,如地址0、2、4、6……,的16位数据被读取。最后,每4个地址输出8位数据。在中间电平数据的情况下,地址ADDR在每个时钟加1,LSB从每个地址中移去,形成对数据进行二次抽样。在低电平数据的情况下,地址ADDR每2个时钟加1,LSB从每个地址中移去,在每个时钟数据顺序读取一个数据项。

        参考图9,MV_SRAM写单元294响应于复位信号RESET、时钟信号CLK、允许信号ENABLE、和最大计数值MAX_CNT输出写地址MV_SRAM_WRITE_ADDR,也输出代表状态转换的MV_SRAM写终止信号MV_SRAM_WRITE_END和MV写帧终止信号MV_WRITE_FRAME_END。

        当MV_SRAM写单元被允许时,MV_SRAM写单元294在每个时钟,通过简单地将最大计数值MAX_CNT和将写地址MV_SRAM_WRITE_ADDR从1280加1,从ME 130向SRAM 140写最终MV和SAD。这里,因为地址0到1279已经被指定用于图象数据,使用1280或更大的写地址MV_SRAM_WRITE_ADDR。最后的地址值与操作单位有关。例如,如果操作单位为3,3个宏块的运动向量,3个宏块的最终SAD,和12个宏块的中间SAD,必须以3个宏块为基本单位被存储在SRAM 140中3次。因此,最后地址值为1298(1280+18)。这里,操作单位必须为3的倍数。

        按照上述本发明述,通过只存储上层图象块的大小而不是全部帧图象,不必使用大小与整个帧相同的用于估计运动的一般专用存储器。并且,可以使用具有小容量的存储器,所以芯片的尺寸可减小。

    关 键  词:
    用于 分级 运动 估计 提供 最佳 数据 装置 及其 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:用于向分级运动估计器提供最佳数据的装置及其方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1157855.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1