一种视频解码方法和系统的制作方法_2

文档序号:9711949阅读:来源:国知局
I总线根据当前帧未被执行的写数据操作请求中执行写数据操作的存储地址,将当前帧解码后的数据写入存储单元;否则处理单元发送复位信息至解码模块,复位模块根据复位信息对解码模块进行帧间复位,解码模块开始解析下一帧数据。这样,即使视频解码器在解码某一帧数据时发生错误,会将该错误帧已经发至AXI总线上的数据操作请求全部处理完成后,复位该错误帧并开始下一帧数据的解析,不仅可以有效防止错误帧码流数据的数据操作请求对下一帧数据解析的影响,同时错误帧只处理已发送的数据操作请求,并不需要继续将错误帧全部解析完成,有利于节省功耗,因而在计算机芯片领域具有广阔的市场前景。
【附图说明】
[0028]图1为本发明一实施方式涉及的视频解码系统的示意图;
[0029]图2为本发明一实施方式涉及的视频解码方法的示意图;
[0030]附图标记说明:
[0031]101、处理单元;
[0032]102、视频解码器;111、解码模块;112、复位模块;113、AXI接口 ; 114、错误控制模块;
[0033]103、AXI 总线;
[0034]104、存储单元。
【具体实施方式】
[0035]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0036]所述系统包括视频解码器102、处理单元101、AXI总线103和存储单元104;所述视频解码器102包括解码模块111、复位模块112和AXI接口 113,所述AXI接口 113包括错误控制模块114;所述处理单元101与解码模块111连接,所述解码模块111与复位模块112连接,所述复位模块112与AXI接口 113连接,所述AXI接口 113与解码模块111连接;所述错误控制模块114与AXI总线103连接;
[0037]所述解码模块111用于发送一个或多个当前帧的数据操作请求至AXI总线,所述数据操作请求包括写数据操作请求或读数据操作请求,所述写数据操作请求包括执行写数据操作的存储地址以及待写入的数据;所述读数据操作请求包括执行读数据操作的存储地址;
[0038]所述错误控制模块114用于记录当前帧未被执行的数据操作请求个数,所述未被执行的数据操作请求为缓存于AXI总线且尚未执行写数据操作或读数据操作的数据操作请求;
[0039]当前帧数据发生错误时,错误控制模块114用于判断所记录的当前帧未被执行的数据操作请求个数是否不为0,若是则所述AXI总线103用于根据当前帧未被执行的读数据操作请求中执行读数据操作的存储单元地址,从所述存储单元104中读取当前帧待解码的数据,或者,所述AXI总线103用于根据当前帧未被执行的写数据操作请求中执行写数据操作的存储地址,将当前帧解码后的数据写入存储单元104;否则所述处理单元101用于发送复位信息至解码模块111,所述复位模块112用于根据复位信息对解码模块进行帧间复位,所述解码模块111用于开始解析下一帧数据。
[0040]在使用视频解码系统时,首先解码模块发送一个或多个当前帧的数据操作请求至AXI总线,所述数据操作请求包括写数据操作请求或读数据操作请求,所述写数据操作请求包括执行写数据操作的存储地址以及待写入的数据;所述读数据操作请求包括执行读数据操作的存储地址。
[0041 ]而后错误控制模块记录当前帧未被执行的数据操作请求个数,所述未被执行的数据操作请求为缓存于AXI总线且尚未执行写数据操作或读数据操作的数据操作请求。在本实施方式中,所述AXI总线与AXI接口通过写地址通道、写数据通道、写响应通道、读地址通道、读数据通道连接。所述错误控制模块包括计数单元,所述计算单元用于记录当前帧未被执行的数据操作请求个数;所述“计算单元用于记录当前帧未被执行的数据操作请求个数”具体包括:初始化计算单元的初始值,所述计算单元的初始值为解码模块发送至AXI总线的当前帧的数据操作请求的个数;当AXI总线每执行完成一当前帧的数据操作请求后,所述计算单元的值减一。
[0042]所述计数单元包括第一计数模块、第二计数模块、第三计数模块和第四计数模块;则所述“错误控制模块用于记录当前帧未被执行的数据操作请求个数”具体包括:第一计数模块用于记录写地址通道中尚未执行写数据操作的存储地址的个数;第二计数模块用于记录写数据通道中尚未执行写数据操作的待写入数据的个数;第三计数模块用于记录读数据通道中尚未执行读数据操作的存储地址的个数;第四计数模块用于记录读地址通道中尚未执行读数据操作的待读取数据的个数,优选的,所述计数模块为计数器。
[0043]AXI接口与AXI总线通过写地址通道、写数据通道、写响应通道、读地址通道、读数据通道进行连接。以写数据操作请求为例,解码模块发送的写数据操作请求中的执行写数据操作的存储单元地址(以下简称“写地址)会通过写地址通道发送给AXI总线,解码模块发送的写数据操作请求中的待写入的数据(以下简称“写数据”)会通过写数据通道发送给AXI总线。AXI总线接收写数据和写地址后,会将写数据写入与AXI总线连接的存储单元写地址对应的位置中。在本实施方式中,所述存储单元为DDR存储器。解码模块发送给AXI总线的写数据操作请求可能为多个,而同一时间内AXI总线只能向存储单元中写入一个写数据操作对应的写数据,因而尚未执行写数据操作的数据操作请求就被缓存于AXI总线,并且第一计数模块记录写地址通道中尚未执行写数据操作的存储地址的个数;第二计数模块记录写数据通道中尚未执行写数据操作的待写入数据的个数。当前帧某一写数据操作请求被执行时(即AXI总线将当前帧某一写数据写入存储单元中的写地址位置时),AXI总线会通过写响应通道给错误控制模块发送一写完成响应反馈,错误控制模块接收写完成响应反馈,将第一计数模块和第二计数模块的值减I。读数据操作同理可得,通过计数单元的值可以准确知道当前AXI总线上当前帧未被执行的数据操作请求个数。
[0044]当前帧数据发生错误时,错误控制模块判断所记录的当前帧未被执行的数据操作请求个数是否不为O。在本实施方式中,所述“错误控制模块用于判断所记录的当前帧未被执行的数据操作请求个数不为O”具体包括:错误控制模块用于判断第一计数模块、第二计数模块、第三计数模块、第四计数模块的值是否均不为O。即判断写数据通道上是否还存在当前帧需要写入存储单元中的写数据,写地址通道上是否还有当前帧需要执行写操作的存储单元的存储地址,读地址通道上是否还有当前帧需要执行读操作的存储单元的存储地址,读数据通道上是否还有当前帧执行读数据操作的待读取数据。若是则AXI总线根据当前帧未被执行的读数据操作请求中执行读数据操作的存储单元地址,从所述存储单元中读取当前帧待解码的数据,或者,AXI总线根据当前帧未被执行的写数据操作请求中执行写数据操作的存储地址,将当前帧解码后的数据写入存储单元。若当前帧未被执行的数据操作请求个数不为0(即第一计数模块、第二计数模块、第三计数模块和第四计数模块任一计数模块的值不为O),说明当前帧在解析发生错误时,AXI总线上仍然残存有当前帧未被执行的数据操作请求,如果不对这些数据操作请求进行有效处理,则会影响下一帧数据的正常解析。例如第一计数模块和第二计数模块的值不为0,则说明AXI总线上尚未被执行的写地址和写数据个数不为O,因而AXI总线会执行将写数据写入存储单元该写数据对应的写地址位置。再如第三计数模块和第四计数模块的值不为0,则说明AXI总线上尚未被执行的读地址和读数据个数不为O,因而AXI总线会继续从存储单元的读地址位置读取该读地址对应的读数据,并将读数据发送给视频解码。
[0045]若错误控制模块判断所记录的当前帧未被执行的数据操作请求个数为0,则说明
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1