一种视频编解码访存优化系统和方法

文档序号:7857380阅读:181来源:国知局
专利名称:一种视频编解码访存优化系统和方法
技术领域
本发明涉及一种视频编解码技术领域,特别是涉及一种基于辅助流的视频编解码访存优化系统和方法。
背景技术
为了提高视觉体验,视频序列的分辨率和帧率不断提高,这使得视频编解码中访存成为了视频编解码系统的主要技术瓶颈,而且问题趋势日渐突出,其中尤以运动补偿部分的访存问题为最严重。现有技术中,片上缓存(片上cache)技术是视频访存中降低访存延时和片外访存带宽的传统技术。

但是,现有技术中由于片上缓存(片上cache)没有对访存行为进行准确预测,无法实现片上缓存(cache)的最优调度。

发明内容
本发明的目的在于提供一种视频编解码访存优化系统和方法,其实现对片上缓存的最优调度,以大幅降低平均访存延时和片外访存带宽。为实现本发明目的而提供的一种视频编解码访存优化系统,包括熵编码器和熵解码器,其中所述熵编码器,用于在熵编码过程中,模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器;所述熵解码器,用于接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存优化调度和解码。较优地,所述熵解码器使用的片上缓存在逻辑上划分为主缓存部分和辅助缓存部分;而在熵编码器对视频进行编码时,模拟将要在熵解码器上使用的片上缓存在逻辑上划分为主缓存部分和辅助缓存部分。较优地,所述熵编码器包括模拟获取模块和生成模块,其中所述模拟获取模块,用于在对视频数据进行熵编码过程中,根据预先设置的熵解码器的主缓存的结构、大小,以及所采用的解码调度的确定性替换方法,模拟熵解码器访存过程获取解码的访存行为信息;所述生成模块,用于在对压缩模块的视频数据进行编码时,根据解码的访存行为信息得到访存信息队列,编码生成访存信息辅助流。较优地,所述模拟获取模块,包括计数器,判断子模块,二维数组表,记录子模块;其中所述计数器,用于记录缓存替换次数;所述判断子模块,用于模拟熵解码器的解码缓存行为时,当判断到该帧的缓存块被从主缓存中替换出来时,将记录缓存替换次数的计数器加I;并根据该帧的后续访存行为确定该帧的缓存块是否会被再次用到;如果判断为被用到,则将此帧的的计数器值记录下来;否则,将此帧的计数器值计为O。所述二维数组表,用于模拟熵解码器的缓存行为中的每一帧的缓存块和该缓存块对应的计数器值;所述记录子模块,用于当主缓存发生缓存丢失时,首先检查相应帧的二维数组中与丢失的缓存块对应的位置上的值是否为O ;如果不为O则说明丢失的缓存块曾经被替换出,这个位置上保存的值为其被替换出时的计数器值,将其记录下来。为实现本发明目的还提供一种视频编解码访存优化方法,包括如下步骤

步骤S100,在熵编码过程中,熵编码器模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器;步骤S200,熵解码器接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存优化调度和解码。较优地,所述步骤SlOO包括如下步骤步骤S110,熵编码器在对视频数据进行熵编码过程中,根据预先设置的熵解码器的主缓存的结构、大小,以及所采用的解码调度的确定性替换方法,模拟熵解码器访存过程获取解码的访存行为信息;步骤S120,熵编码器在对压缩模块的视频数据进行编码时,根据解码的访存行为信息得到访存信息队列,编码生成访存信息辅助流。较优地,所述步骤SllO包括如下步骤步骤S111,一帧开始时先将该帧每个参考帧的相应2维数组赋初值0,记录替换发生次数的计数器赋初值O ;步骤S112,根据宏块信息和熵解码器缓存的结构和替换方法信息,模拟熵解码器访存进行缓存替换,将第一缓存块替换出,将第二缓存块放入;步骤S113,判断本帧的编码是否结束;如果否,则返回步骤S112 ;如果是,则进入步骤S120。较优地,所述步骤SI 12包括如下步骤步骤S1121,将计数器值增1,将计数器值存入第一缓存块所在帧的二维数组中第一缓存块所对应的位置;步骤S1122,判断第二缓存块所在帧的二维数组中第二缓存块所对应位置存放的值是否为O ;步骤S1123,若为0,说明第二缓存块是第一次从外部存储器中取入缓存,不做任何处理,进入步骤SI 13 ;步骤S1124,若不为0,将这个被记录下来的计数器值按照值的由小到达顺序插入访存队列。较优地,所述步骤S200包括如下步骤步骤S210,首先利用熵解码器从辅助流中解出访存信息队列中的一个值,将这个值存放入变量P ;
步骤S220,每次发生缓存替换,则检查P是否为0,如果不为O说明相应缓存块将来不会被用到,将P减I;如果为O说明相应缓存块将来会被用到,若熵解码器中的辅助缓存中有剩余空间,则将其放入辅助缓存中;否则直接抛弃,然后从辅助流中解出辅助信息队列中的下一个值放入P中;步骤S230,当熵解码器中的主缓存中发生缓存丢失时,首先检查所述辅助缓存中有没有所需要的缓存块;有则从辅助缓存中读取,并将辅助缓存中的相应空间标记为空闲;没有则从外部存储器中读取。本发明的有益效果是本发明的视频编解码访存优化系统和方法,利用视频访存的特殊性,在视频编码预知熵解码器的访存行为,结合已知熵解码器的片上缓存(cache)结构,在编码时将预知的解码访存行为信息编码成访存辅助流;在解码时,利用该访存辅助流,实现片上缓存(cache)的最优调度,以大幅降低平均访存延时和片外访存带宽。


图I是本发明实施例视频编解码访存优化系统结构示意图;图2是本发明实施例视频编解码访存优化系统工作过程示意图;图3是本发明实施例视频编解码访存优化方法流程图;图4是图3中步骤SlOO方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的视频编解码访存优化系统和方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图I所示,作为一种可实施方式,本发明实施例的视频编解码访存优化系统,包括熵编码器I和熵解码器2,其中所述熵编码器1,用于在熵编码过程中,模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器;所述熵解码器2,用于接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存(cache)优化调度和解码。本发明实施例中,利用熵编码器I在已知熵解码器片上缓存(cache)结构和调度方法的条件下,模拟熵解码器访存过程的特点,获取解码的访存行为信息,并在压缩模块对视频数据进行编码时,编码生成访存信息辅助流并写入辅助缓存(victim cache)中,将编码后的视频数据和访存信息辅助流一起发送给熵解码器。在本发明实施例中,作为一种可实施方式,所述熵解码器2使用的片上缓存在逻辑上划分为主缓存部分和辅助缓存部分;而在熵编码器I对视频进行编码时,模拟将要在熵解码器2上使用的片上缓存(cache)在逻辑上划分为主缓存(main cache)部分和辅助缓存(victim cache)部分;作为一种可实施方式,可将一级缓存(LI cache)作为主缓存(main cache), 二级缓存(L2 cache)的一部分作为辅助缓存(victim cache)。
本发明实施例中,考虑到在解码时,一个被从缓存(cache)中替换出来的缓存(cache)块在未来的解码过程中可能会被再次用到,这个缓存(cache)块将再次从外部存储器中取入缓存(cache),这意味着多余的片外访存。因此,本发明实施例中,考虑将在解码时,未来会再次用到的缓存(cache)块放入辅助缓存(victim cache)中,可以避免延时较长的片外访存。而一个被从主缓存(main cache)中替换出来的缓存(cache)块是否会被再次用到在解码时是无法知道的,本发明实施例中,通过模拟解码行为生成访存信息辅助流并传输给熵解码器,从而可以根据之后的访存行为得到从主缓存中替换出来的缓存块是否会被再次用到,避免了多余的片外访存,实现缓存(cache)的优化调度。熵解码器2利用接收到的访存信息辅助流,矫正不合理的缓存(cache)调度,实现缓存(cache)优化调度进行解码。

较佳地,所述熵编码器I包括模拟获取模块10和生成模块20,其中所述模拟获取模块10,用于在对视频数据进行熵编码过程中,根据预先设置的熵解码器的主缓存的结构、大小,以及所采用的解码调度的确定性替换方法,模拟熵解码器访存过程获取解码的访存行为信息;所述生成模块20,用于在对压缩模块的视频数据进行编码时,根据解码的访存行为信息得到访存信息队列,编码生成访存信息辅助流。由于在编码中,在主缓存(main cache)编码时预知解码的全部访存行为时,即已知主缓存(main cache)的结构、大小,以及所采用的解码调度的确定性替换方法时,熵编码器可以模拟熵解码器的解码缓存(cache)行为,从而获取解码的访存行为信息。其中,作为一种可实施方式,本发明实施例中,所述熵解码器2在主缓存(maincache)部分解码时,使用确定性替换方法进行解码,以保证替换过程的可重现性。所述确定性替换方法包括但不限于如先进先出(First Input First Output,FIFO)页面置换算法,最近最少使用页面置换算法(Least Recently Used, LRU)等替换方法。更佳地,所述模拟获取模块10,包括计数器101,判断子模块102,二维数组表103,记录子模块104 ;其中所述计数器101,用于记录缓存替换次数;所述判断子模块102,用于模拟熵解码器的解码缓存行为时,当判断到该帧的缓存(cache)块被从主缓存(main cache)中替换出来时,将记录缓存(cache)替换次数的计数器Q加I ;并根据该帧的后续访存行为确定该帧的缓存(cache)块是否会被再次用到;如果判断为被用到,则将此帧的的计数器Q值记录下来;否则,将此帧的计数器Q值计为O。所述二维数组表103,用于模拟熵解码器的缓存行为中的每一帧的缓存块和该缓存块对应的计数器Q值;所述记录子模块104,用于当主缓存(main cache)发生缓存丢失(cache miss)时,首先检查相应帧的二维数组中与丢失(miss)的缓存(cache)块对应的位置上的值是否为O ;如果不为O则说明丢失(miss)的缓存(cache)块曾经被替换出,这个位置上保存的值为其被替换出时的计数器Q值,将其记录下来。如图2所示,本发明实施例的系统,在熵编码器I编码分析得到宏块残差和宏块信息,进行熵编码的过程中,根据视频访存的特殊性,在编码时根据宏块信息中预先设置的熵解码器的访存行为,结合已知的预设的熵解码器的片上缓存(cache)结构(包括主缓存(main cache)的结构、大小,和所采用的确定替换方法),在编码时增加了如图2所示的两个模块,包括模块获取模块和生成模块,模拟熵解码器的访存行为,并将模拟的解码访存行为信息编码成一个非常小的访存辅助流。在解码时,利用这个访存辅助流,优化访存行为,实现片上缓存(cache)的最优调度。本发明实施例中,作为一种可实施方式,在视频数据编码时,将每个视频数据的帧以缓存(cache)块为单位划分,然后为每个帧的缓存块分配一个2维数组,每个缓存(cache)块对应2维数组中的一个位置,并按照其在帧中的位置来索引;视频数据的每一帧开始时,先将该帧相应2维数组赋初值O ;同时,通过设置一计数器Q,在视频数据每一帧开始时,此帧的计数器Q值清O ;然后,判断子模块模拟熵解码器的解码缓存行为时,当判断到该帧的缓存(cache) 块被从主缓存(main cache)中替换出来时,将记录缓存(cache)替换次数的计数器Q加I ;根据模拟该帧的后续访存行为确定该帧的缓存(cache)块是否会被再次用到;如果经过模拟判断为被用到,则将此帧的的计数器Q值记录下来;否则,将此帧的计数器Q值计为O ;将此时的计数器Q值写入相应帧的二维数组中与该缓存(cache)块对应的位置上。当主缓存(main cache)发生缓存丢失(cache miss)时,首先检查相应巾贞的二维数组中与丢失(miss)的缓存(cache)块对应的位置上的值是否为O ;如果不为O则说明丢失(miss)的缓存(cache)块曾经被替换出,这个位置上保存的值为其被替换出时的计数器Q值,将其记录下来。在一帧的编码过程结束后,将所有记录下来的计数器Q值按照从小到大的顺序排列,然后将相邻Q值作差,差值再减1,构成最终的访存信息队列,最后对其进行CABAC (Context-based Adaptive Binary Arithmetic Coding,基于上下文的自适应变长码)熵编码(H264采用的熵编码方式之一,其他编码标准可以采用相应的熵编码器进行编码),得到访存信息辅助流,并写入辅助缓存(victim cache)中;其中,第一个计数器Q值与O作差。相应地,本发明还提供一种视频编解码访存优化方法,如图3所示,包括如下步骤步骤S100,在熵编码过程中,熵编码器模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器;步骤S200,熵解码器接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存(cache)优化调度和解码。下面详细描述本发明实施例的步骤SlOO在熵编码过程中生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器的过程。较佳地,作为一种可实施方式,如图4所示,所述步骤SlOO包括如下步骤步骤S110,熵编码器在对视频数据进行熵编码过程中,根据预先设置的熵解码器的主缓存的结构、大小,以及所采用的解码调度的确定性替换方法,模拟熵解码器访存过程获取解码的访存行为信息;较佳地,所述步骤SllO包括如下步骤步骤S111,一帧开始时先将该帧每个参考帧的相应2维数组赋初值0,记录替换发生次数的计数器Q赋初值O ;步骤S112,根据宏块信息和熵解码器缓存(cache)的结构和替换方法信息,模拟熵解码器访存,发生缓存(cache)替换,块a被替换出,块b被放入;所述步骤SI 12包括如下步骤

步骤SI 121,将计数器Q值增1,即Q = Q+1,将Q的值存入块a所在帧的二维数组中块a所对应的位置;步骤SI 122,判断块b所在帧的二维数组中块b所对应位置存放的值是否为O ;步骤S1123,若为0,说明块b是第一次从外部存储器(未示出)中取入缓存(cache),不做任何处理,进入步骤SI 13 ;步骤S1124,若不为O,说明块b曾经从主缓存(main cache)中被替换出,这次是再次访问,故解码时上次被替换出时应该将块b放入辅助缓存(victim cache)以避免再次从外存取数,而此时二维数组中块b相应位置记录的值为上次块b被替换出时表示总替换次数的计数器Q的值,将这个被记录下来的Q值按照值的由小到达顺序插入访存队列。步骤113,判断本帧的编码是否结束;如果否,则返回步骤112 ;如果是,则进入步骤 S120。步骤S120,熵编码器在对压缩模块的视频数据进行编码时,根据解码的访存行为信息得到访存信息队列,编码生成访存信息辅助流。作为一种可实施方式,在一帧的编码过程结束后,将所有记录下来的计数器Q值按照从小到大的顺序排列,然后将相邻Q值作差,差值再减1,构成最终的访存信息队列,最后对访存信息队列及队列中计数器Q值进行CABAC(Context-based Adaptive BinaryArithmetic Coding,基于上下文的自适应变长码)熵编码(H264采用的熵编码方式之一,其他编码标准可以采用相应的熵编码器进行编码),得到访存信息辅助流,并写入辅助缓存(victim cache)中; 其中,第一个计数器Q值与O作差。较佳地,作为一种可实施方式,所述顺序排列可以在得到每一个Q值的过程中进行。本发明实施例中,只记录缓存(cache)的调度信息,即Q值队列,不用记录缓存块,相应的缓存块在解码时是可以得到的。而二维数组是在编码时帮助得到Q值队列的辅助手段,不需要保存在辅助流中,辅助流中只有Q值队列,解码时利用Q值队列就可以实现最优缓存(cache)调度。下面详细说明本发明实施例的步骤S200熵解码器利用所述访存信息辅助流,对编码的视频数据的进行缓存(cache)优化调度和解码的过程。在解码时,利用所述访存辅助流做此判断调度优化,当一缓存(cache)块从熵解码器的主缓存(main cache)中替换出来时,如果它在将来仍会被熵解码器使用,并且熵解码器的辅助缓存(victim cache)中有剩余空间时,则将其放入熵解码器的辅助缓存(victim cache)中,否则直接抛弃;当熵解码器的主缓存(main cache)中发生缓存丢失(cache miss)时,首先检查熵解码器的辅助缓存(victim cache)中有没有所需要的缓存(cache)块;如果有,则从熵解码器的辅助缓存(victim cache)中读取,并将熵解码器的辅助缓存(victim cache)中的相应空间标记为空闲;否则,从外部存储器(未示出)中读取。在解码时,首先利用熵解码器从访存信息辅助流中解出辅助信息队列中的一个值,将这个值存放入变量P ;每次发生缓存(cache)替换,则检查变量P是否为0,如果不为O说明相应缓存(cache)块将来不会被用到,将P减I ;如果为O说明相应缓存(cache)块将来会被用到,则将其放入辅助缓存(victim cache),然后从辅助流中解出辅助信息队列中的下一个值放入P中,如此反复,直至解码结束。其中,变量P是一个整型变量,即为所述编码过程中获得的访存信息队列,队列中的每个P值表示在相邻两次需要放入辅助缓存(victim cache)的缓存(cache)替换之间间隔了多少次不用放入辅助缓存(victim cache)的缓存(cache)替换。P值队列中的每个P值记录的是相邻的两个需要放入辅助缓存的被替换出的cache块之间间隔多少个不需要 放入辅助缓存的被替换出的cache块,所以每次发生替换的时候如果P值不是O则表明这个被替换出的cache块不需要放入辅助缓存,然后P值减1,直到观察到P值为0,则表明遇到了需要放入辅助缓存的cache块,这时把此cache块放入辅助缓存,从P值队列中读取一个新值。本发明实施例通过每次从访存信息辅助流中熵解码出一个这样的计数器P,根据P值指导访存调度,以达到优化目的。较佳地,作为一种可实施方式,所述步骤S200包括如下步骤步骤S210,首先利用熵解码器从辅助流中解出访存信息队列中的一个值,将这个值存放入变量P ;步骤S220,每次发生缓存(cache)替换,则检查P是否为0,如果不为O说明相应缓存(cache)块将来不会被用到,将P减I ;如果为O说明相应缓存(cache)块将来会被用至1J,若熵解码器中的辅助缓存(victim cache)中有剩余空间,则将其放入辅助缓存(victimcache)中;否则直接抛弃,然后从辅助流中解出辅助信息队列中的下一个值放入P中;缓存块是解码时需要用到的数据,是解码器从内存中读取的,这里的P值是辅助处理器调度cache块的信息,与具体缓存块的值是多少无关,上述二维数组只是在编码时为得到P值采取的辅助手段,目的是得到P值,得到P值之后就不再有用,解码器用P值就可以实现最优调度。步骤S230,当熵解码器中的主缓存(main cache)中发生缓存丢失(cache miss)时,首先检查所述辅助缓存(victim cache)中有没有所需要的缓存(cache)块;有则从辅助缓存(victim cache)中读取,并将辅助缓存(victim cache)中的相应空间标记为空闲;没有则从外部存储器中读取。本发明实施例的视频编解码访存优化系统和方法,利用视频访存的特殊性,在视频编码预知熵解码器的访存行为,结合已知熵解码器的片上缓存(cache)结构,在编码时将预知的解码访存行为信息编码成访存辅助流;在解码时,利用该访存辅助流,实现片上缓存(cache)的最优调度,以大幅降低平均访存延时和片外访存带宽。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的 这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
权利要求
1.一种视频编解码访存优化系统,其特征在于,包括熵编码器和熵解码器,其中 所述熵编码器,用于在熵编码过程中,模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器; 所述熵解码器,用于接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存优化调度和解码。
2.根据权利要求I所述的视频编解码访存优化系统,其特征在于,所述熵解码器使用的片上缓存在逻辑上划分为主缓存部分和辅助缓存部分;而在熵编码器对视频进行编码时,模拟将要在熵解码器上使用的片上缓存在逻辑上划分为主缓存部分和辅助缓存部分。
3.根据权利要求2所述的视频编解码访存优化系统,其特征在于,所述熵编码器包括模拟获取模块和生成模块,其中 所述模拟获取模块,用于在对视频数据进行熵编码过程中,根据预先设置的熵解码器的主缓存的结构、大小,以及所采用的解码调度的确定性替换方法,模拟熵解码器访存过程获取解码的访存行为信息; 所述生成模块,用于在对压缩模块的视频数据进行编码时,根据解码的访存行为信息得到访存信息队列,编码生成访存信息辅助流。
4.根据权利要求3所述的视频编解码访存优化系统,其特征在于,所述确定性替换方法为先进先出页面置换算法,或者最近最少使用页面置换算法。
5.根据权利要求3所述的视频编解码访存优化系统,其特征在于,所述模拟获取模块,包括计数器,判断子模块,二维数组表,记录子模块; 其中 所述计数器,用于记录缓存替换次数; 所述判断子模块,用于模拟熵解码器的解码缓存行为时,当判断到该帧的缓存块被从主缓存中替换出来时,将记录缓存替换次数的计数器加I ;并根据该帧的后续访存行为确定该帧的缓存块是否会被再次用到;如果判断为被用到,则将此帧的的计数器值记录下来;否则,将此帧的计数器值计为O。
所述二维数组表,用于模拟熵解码器的缓存行为中的每一帧的缓存块和该缓存块对应的计数器值; 所述记录子模块,用于当主缓存发生缓存丢失时,首先检查相应帧的二维数组中与丢失的缓存块对应的位置上的值是否为O ;如果不为O则说明丢失的缓存块曾经被替换出,这个位置上保存的值为其被替换出时的计数器值,将其记录下来。
6.一种视频编解码访存优化方法,其特征在于,包括如下步骤 步骤S100,在熵编码过程中,熵编码器模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器; 步骤S200,熵解码器接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存优化调度和解码。
7.根据权利要求6所述的视频编解码访存优化方法,其特征在于,所述步骤SlOO包括如下步骤步骤S110,熵编码器在对视频数据进行熵编码过程中,根据预先设置的熵解码器的主缓存的结构、大小,以及所采用的解码调度的确定性替换方法,模拟熵解码器访存过程获取解码的访存行为信息; 步骤S120,熵编码器在对压缩模块的视频数据进行编码时,根据解码的访存行为信息得到访存信息队列,编码生成访存信息辅助流。
8.根据权利要求7所述的视频编解码访存优化方法,其特征在于,所述步骤SllO包括如下步骤 步骤S111,一帧开始时先将该帧每个参考帧的相应2维数组赋初值0,记录替换发生次数的计数器赋初值0; 步骤S112,根据宏块信息和熵解码器缓存的结构和替换方法信息,模拟熵解码器访存进行缓存替换,将第一缓存块替换出,将第二缓存块放入; 步骤S113,判断本帧的编码是否结束;如果否,则返回步骤S112;如果是,则进入步骤S120。
9.根据权利要求8所述的视频编解码访存优化方法,其特征在于,所述步骤S112包括如下步骤 步骤S1121,将计数器值增1,将计数器值存入第一缓存块所在帧的二维数组中第一缓存块所对应的位置; 步骤S1122,判断第二缓存块所在帧的二维数组中第二缓存块所对应位置存放的值是否为0 ; 步骤S1123,若为0,说明第二缓存块是第一次从外部存储器中取入缓存,不做任何处理,进入步骤SI 13 ; 步骤S1124,若不为0,将这个被记录下来的计数器值按照值的由小到达顺序插入访存队列。
10.根据权利要求7所述的视频编解码访存优化方法,其特征在于,所述步骤S200包括如下步骤 步骤S210,首先利用熵解码器从辅助流中解出访存信息队列中的一个值,将这个值存放入变量P ; 步骤S220,每次发生缓存替换,则检查P是否为0,如果不为0说明相应缓存块将来不会被用到,将P减I ;如果为0说明相应缓存块将来会被用到,若熵解码器中的辅助缓存中有剩余空间,则将其放入辅助缓存中;否则直接抛弃,然后从辅助流中解出辅助信息队列中的下一个值放入P中; 步骤S230,当熵解码器中的主缓存中发生缓存丢失时,首先检查所述辅助缓存中有没有所需要的缓存块;有则从辅助缓存中读取,并将辅助缓存中的相应空间标记为空闲;没有则从外部存储器中读取。
全文摘要
本发明公开一种视频编解码访存优化系统和方法。该系统包括熵编码器和熵解码器,其中所述熵编码器,用于在熵编码过程中,模拟解码访存行为并获取解码访存行为信息并得到访存信息队列,根据访存信息队列编码生成访存信息辅助流并与熵编码后的视频数据一起传输给熵解码器;所述熵解码器,用于接收到待解码的码流后,利用所述访存信息辅助流,对编码的视频数据的进行缓存优化调度和解码。其实现对片上缓存的最优调度,以大幅降低平均访存延时和片外访存带宽。
文档编号H04N7/26GK102769755SQ201210275438
公开日2012年11月7日 申请日期2012年8月3日 优先权日2012年8月3日
发明者刘少礼, 李玲, 陈云霁 申请人:龙芯中科技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1