H.264/avc输入码流用解码器及其控制方法

文档序号:7751445阅读:238来源:国知局
专利名称:H.264/avc输入码流用解码器及其控制方法
技术领域
本发明涉及的是通信调制技术领域的装置及控制方法,具体涉及一种H. 264/AVC 输入码流用解码器及其控制方法。
背景技术
H. 264/AVC是由ITU-T和MPEG组织联合提出的新一代的数字视频编码标准。 H. 264/AVC标准显著提高了数据压缩效率。在相同图像质量下,H. 264/AVC标准可在更低 码率信道上获得更高的视频质量。但它的实时性能和高质量是以可靠的、低延迟的輸入码 流和复杂计算为基础的。在对H. 264/AVC解码器设计中,研究如何提高计算能力的方法多, 而如何使输入码流和计算引擎速度配合的方法研究极少。其实在码流输入过程中产生的延 迟,是会影响整个系统的性能。经过对现有技术文献的检索发现,谭立地等,在《江西科学》第26卷第4期、2008 年8月第608-661页发表的“一种H. 264/AVC解码器关键技术的设计”中提出了一种H. 264 解码器系统结构图,结构图中的硬件解码部分并没有提到对输入码流的控制方法,文献中 提出的对关键技术阐述,也没有涉及对输入码流的控制方法。事实上,只有当H. 264/AVC输 入码流和硬件速度的配合才会提高系统的整体性能。上述文献的不足之处就是并没有提出 解决码流和硬件引擎的处理速度差异时应该采用的技术方法。在目前查到的有关文献中也 没有提到解码器中需要对码流输入控制的方法。在现代计算机技术中,高速的CPU和存储 器RAM之间是采用缓冲存储器Cache来解决速度的差异,进而提高计算机系统的整体运算 性能。

发明内容
本发明针对现有技术存在的上述不足,提供一种H. 264/AVC输入码流用解码器及 其控制方法,针对H. 264/AVC Baseline Profile硬件解码器中的输入码流,提出采用硬件 桶形缓冲存储器的方法,实现输入码流和计算引擎的速度匹配,可以提高系统的性能。本发明是通过以下技术方案实现的本发明涉及一种H. 264/AVC输入码流用解码器,包括地址缓冲隔离控制电路、地址生成器、时钟发生器、数据缓冲隔离控制电路以及随机存储器,其中地址生成器的输入 端与时钟发生器相连接以接收时钟信号,地址生成器的输出端分别与地址缓冲隔离控制电 路以及数据缓冲隔离控制电路相连接以输出控制信号,地址生成器的地址端与地址缓冲隔 离控制电路的地址端通过地址总线相连接,地址缓冲隔离控制电路的输出端与临时寄存器 相连接以输出地址信息,临时寄存器与数据缓冲隔离控制电路相连接以传输码流信息,所 述的随机存储器由缓冲区A和缓冲区B构成。所述的控制信号包括对桶形缓冲区进行读操作信号和对桶形缓冲区进行写操作信号。所述的随机存储器为两块SRAM构成的128bit的桶形码流缓冲区,该桶形码流缓冲区是片外码流从存储器输入到片内H. 264解码器之间的接口电路。所述的地址生成器产生两个环形变化的地址数据指针PA和地址数据指针PB并分别指向对应的缓冲区A和缓冲区B中的地址,循环时钟的每一个周期内当地址数据指针 PA增加到周长一半时,地址数据指针PB归零,当地址数据指针PB增加到周长一半时,地址 数据指针PA归零。本发明涉及上述H. 264/AVC输入码流用解码器的控制方法,包括以下步骤第一步、在地址生成器的作用下,SDRAM中的码流写入到桶形码流缓冲区;当地址 范围达到桶形码流缓冲区的周长的一半时,即写满缓冲区A时启动数据缓冲隔离控制电路 并从缓冲区A中读出数据,开始解码器计算;第二步、当从缓冲区A中读出数据完毕后,启动地址生成器并将SDRAM中的码流继 续写入到缓冲区B;当缓冲区B中数据写满时,启动数据缓冲隔离控制电路并继续从缓冲区 B中读出数据进行解码器计算,同时将缓冲区A清零;第三步、启动地址生成器并将SDRAM中的码流写入到缓冲区A中直至缓冲区A写 满,然后启动数据缓冲隔离控制电路并继续从缓冲区A中读出数据进行解码器计算,同时 将缓冲区B清零。上述过程的地址发生器和控制电路的时序信号,可以重复进行。一直到码流数据 完成。桶形的结构使得读和写的地址具有相同的长度范围,故控制电路设计时可较简单,并 且读和写的操作可以分别进行,效率最大。采用两块SRAM构成的桶形缓冲区的地址长度要比一次运算所需的数据的地址长 度范围要大,这样保证了在读缓冲区数据的同时,还能同步向缓冲区写数据,而且不会发生 读写数据操作的冲突。本发明通过以下方式进行工作首先通过一个16bit宽的数据总线将码流从外部 存储器SDRAM输入到随机存储器中,当桶形缓冲区的码流达到桶形周长的一半时,即半满 状态后,由控制电路发出中断请求信号,解码器内核就开始读入缓冲区中的码流,并开始解 码计算过程。而桶形缓冲区可通过一个自动填充的控制电路,连续从外部存储器SDRAM中 读入码流,由缓冲区连续提供给解码器作计算。这里的关键技术就是采用了桶形缓冲区的 技术,使得写入数据和读出数据可以同时进行。在H. 264/AVC解码器运算中,码流的桶形缓冲存储器对解码器运算速度提高有重 要的作用。它直接关系到整个系统能否满足实时解码并达到所需要吞吐效率。本发明随机存储器设计两块独立的单端RAM电路和单独的地址生成器,目的是让 外部存储器SDRAM中的数据码流能按地址生成器产生的地址顺序进入写缓冲区,假设是A 缓冲区;而同时解码器芯片内的运算部件能够按另一个地址生成器产生的地址顺序接收从 缓冲器中送出的码流。由于写缓冲区和读缓冲区的操作可以同时进行,省去了每次向SDRAM 读写数据的操作过程,提高了系统的速度。桶形的目的是使得读和写的地址具有相同的周 长度范围,使得控制电路设计时达到简单可靠的目地,并且读和写的操作可以分别进行,效 率最大。


图1为本发明结构示意图。
图2为随机存储器示意图。
具体实施例方式下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保扩范围不限于下 述的实施例。如图1所示,本实施例包括地址缓冲隔离控制电路、地址生成器、时钟发生器、数 据缓冲隔离控制电路以及随机存储器,其中地址生成器的输入端与时钟发生器相连接以 接收时钟信号,地址生成器的输出端分别与地址缓冲隔离控制电路以及数据缓冲隔离控制 电路相连接以输出控制信号,地址生成器的地址端与地址缓冲隔离控制电路的地址端通过 地址总线相连接,地址缓冲隔离控制电路的输出端与临时寄存器相连接以输出地址信息, 临时寄存器与数据缓冲隔离控制电路相连接以传输码流信息。所述的地址发生器通过地址隔离控制器后形成两个独立的地址指针,分别代表缓 冲区A和缓冲区B地址。在控制电路中C信号出现时,在保证互斥条件下,SDRAM和解码器 中的数据码流和地址信号能分别到达桶形结构的A缓冲区和B缓冲区。为说明工作过程, 用1、2、3、4分别表示生成缓冲区A和缓冲区B的地址。用5、6、7、8分别表示缓冲区A和缓 冲区B。当控制信号C = 1时,地址缓冲器1,4和数据缓冲器5,8打开,而地址缓冲器2、3 和数据缓冲器6、7关闭,此时防问缓冲器A的地址由地址生成器提供,使来自SDRAM的数据 码流进入到缓冲区A。而访问缓冲区B的地址则由解码器提供,使得解码器能从缓冲器B中 读出已存的数据。当向缓冲区A写数据的操作完成后,同时从缓冲区B读数据的操作也完 成后,控制信号C = 0。此时情况翻转,数据和地址缓冲器1、4、5、8关闭,而缓冲器2、3、6、 7打开,缓冲区A变为读出数据码流,而缓冲区B变为了写入数据码流。由于控制信号C的 不断变化,两块SRAM的读和写操作功能交替循环发生变化。如图2所示,所述的随机存储器为两块SRAM构成的128bit的桶形码流缓冲区,本 实施例具体通过以下方式实现缓存的处理第一步、在地址生成器的作用下,SDRAM中的码流写入到对应地址的缓冲区。当地 址指针PA达到周长的一半时,即缓冲区A写满时,在控制信号C作用下,开始从缓冲区A中 读出数据,进行解码器计算。第二步、当从缓冲区A中读出数据同时,在地址指针PB的作用下,SDRAM中的码流 继续缓冲区B写数据,当缓冲区B中数据写满时,在控制信号C作用下,继续再从缓冲区B 中读出数据,进行解码器计算。缓冲区A清零。第三步、当从缓冲区B中读出数据,做解码计算同时。在地址指针PA作用下,SDRAM 中的码流又写入到缓冲区A中,当缓冲区A写满后,在控制信号C作用下,继续再从缓冲区 A中读出数据,进行解码器计算。缓冲区B清零。假设PA是A缓冲区的地址指针,PB是B缓冲区的地址指针。当SDRAM按地址指 针PA增加的方向,将数据码流写入A缓冲区时,由于可以将对称的桶形结构想象为类似钟 表盘面,所以同时,解码器也按地址指针PB增加的方向从B缓冲区读出数据,读数据和写数 据的操作在桶形缓冲区中可以分别同时进行。当指针PA到达圆周长一半时,表明A缓冲区 中数据已写满了 ;而与此同时指针PB也达到了圆周长的另一半位置,表明B缓冲区的数据已经读完了。接下来的操作正好相反,解码器从A缓冲区读已经写入的数据码流,而SDRAM向B缓冲区写入新的数据码流。当地址指针再次到达周长的一半时,读数据和写数据的操 作过程又发生交换,于是读和写的工作在桶形缓冲区中可以周期交替进行。本实施例中所述的存储器SRAM是普通的集成电路中的静态存储器,它的主要特 点是速度比SDRAM快,功耗低,容易与其它总线接口,不需要额外的电路。本实施例中所述的地址生成器是一种能够产生与存储器单元一一对应关系的通用电路,是由异步计数器和译码逻辑电路等共同构成。地址生成器在桶形缓冲区的作用是分别向SRAM发出读和写操作的发出同步信 号,在本例设计中采用了触发器构成的异步计数器电路结构,当每次输入一个时钟信号,就 产生一个新地址,将其中的输出的最高位作为控制信号C,而将其它的低位输出作为地址, 实现桶形缓冲区的交替读写操作过程。
权利要求
一种H.264/AVC输入码流用解码器,其特征在于,包括地址缓冲隔离控制电路、地址生成器、时钟发生器、数据缓冲隔离控制电路以及随机存储器,其中地址生成器的输入端与时钟发生器相连接以接收时钟信号,地址生成器的输出端分别与地址缓冲隔离控制电路以及数据缓冲隔离控制电路相连接以输出控制信号,地址生成器的地址端与地址缓冲隔离控制电路的地址端通过地址总线相连接,地址缓冲隔离控制电路的输出端与临时寄存器相连接以输出地址信息,临时寄存器与数据缓冲隔离控制电路相连接以传输码流信息,所述的随机存储器由缓冲区A和缓冲区B构成。
2.根据权利要求1所述的H.264/AVC输入码流用解码器,其特征是,所述的随机存储器 为两块SRAM构成的128bit的桶形码流缓冲区,该桶形码流缓冲区是片外码流从存储器输 入到片内H. 264解码器之间的接口电路。
3.根据权利要求1所述的H.264/AVC输入码流用解码器,其特征是,所述的地址生成器 产生两个环形变化的地址数据指针PA和地址数据指针PB并分别指向对应的缓冲区A和缓 冲区B中的地址,循环时钟的每一个周期内当地址数据指针PA增加到周长一半时,地址数 据指针PB归零,当地址数据指针PB增加到周长一半时,地址数据指针PA归零。
4.根据权利要求1所述的H.264/AVC输入码流用解码器,其特征是,所述的控制信号包 括对桶形缓冲区进行读操作信号和对桶形缓冲区进行写操作信号。
5.一种根据权利要求1所述的H. 264/AVC输入码流用解码器的控制方法,其特征在于, 包括以下步骤第一步、在地址生成器的作用下,SDRAM中的码流写入到桶形码流缓冲区;当地址范围 达到桶形码流缓冲区的周长的一半时,即写满缓冲区A时启动数据缓冲隔离控制电路并从 缓冲区A中读出数据,开始解码器计算;第二步、当从缓冲区A中读出数据完毕后,启动地址生成器并将SDRAM中的码流继续写 入到缓冲区B ;当缓冲区B中数据写满时,启动数据缓冲隔离控制电路并继续从缓冲区B中 读出数据进行解码器计算,同时将缓冲区A清零;第三步、启动地址生成器并将SDRAM中的码流写入到缓冲区A中直至缓冲区A写满,然 后启动数据缓冲隔离控制电路并继续从缓冲区A中读出数据进行解码器计算,同时将缓冲 区B清零。
全文摘要
一种通信解码技术领域的H.264/AVC输入码流用解码器及其控制方法,包括地址缓冲隔离控制电路、地址生成器、时钟发生器、数据缓冲隔离控制电路以及随机存储器。所述的随机存储器由缓冲区A和缓冲区B构成。所述的地址生成器产生两个环形变化的地址数据指针PA和地址数据指针PB并分别指向对应的缓冲区A和缓冲区B中的地址,循环时钟的每一个周期内当地址数据指针PA增加到周长一半时,地址数据指针PB归零,当地址数据指针PB增加到周长一半时,地址数据指针PA归零。本发明实现输入码流和计算引擎的速度匹配,可以提高系统的性能。
文档编号H04N7/50GK101848395SQ201010199489
公开日2010年9月29日 申请日期2010年6月13日 优先权日2010年6月13日
发明者刘文江, 刘涛, 戎蒙恬, 李斌, 王永栋 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1