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

文档序号:9711949阅读:237来源:国知局
一种视频解码方法和系统的制作方法
【技术领域】
[0001 ]本发明涉及计算机芯片领域,尤其涉及一种视频解码方法和系统。
【背景技术】
[0002]AXI(advanced extensible interface)是一种总线协议,该协议是ARM公司提出的AMBA3.0协议中最重要的部分之一。AXI总线是一种面向高性能、高带宽、低延迟的片内总线。由于视频在解码过程中IP对带宽的需求是比较高的,因而其往往会采用AXI总线来实现数据交互。
[0003]视频码流数据在传输过程中,由于受到信道等因素各种影响,经常会出现一些错误。而码流数据的解码一般是以帧为单位,当某一帧的码流数据发生错误时,如果未对该帧的码流数据的操作请求进行及时处理,往往会发生连锁反应,影响到下一帧码流数据的解析。如何保证当视频解码模块在解析当前错误帧时,解码器IP不会挂死现象并且能顺利地解析下一帧码流数据,且保证下一帧码流数据解析的正确性,是计算机芯片领域一个亟需解决的问题。

【发明内容】

[0004]为此,需要提供一种视频解码的技术方案,用以解决视频码流数据在某一帧发生错误时,容易出现IP挂死现象、影响到后续帧码流数据的正常解析的问题。
[0005]发明人提供了一种视频解码系统,所述系统包括视频解码器、处理单元、AXI总线和存储单元;所述视频解码器包括解码模块、复位模块和AXI接口,所述AXI接口包括错误控制模块;所述处理单元与解码模块连接,所述解码模块与复位模块连接,所述复位模块与AXI接口连接,所述AXI接口与解码模块连接;所述错误控制模块与AXI总线连接;
[0006]所述解码模块用于发送一个或多个当前帧的数据操作请求至AXI总线,所述数据操作请求包括写数据操作请求或读数据操作请求,所述写数据操作请求包括执行写数据操作的存储地址以及待写入的数据;所述读数据操作请求包括执行读数据操作的存储地址;
[0007]所述错误控制模块用于记录当前帧未被执行的数据操作请求个数,所述未被执行的数据操作请求为缓存于AXI总线且尚未执行写数据操作或读数据操作的数据操作请求;
[0008]当前帧数据发生错误时,错误控制模块用于判断所记录的当前帧未被执行的数据操作请求个数是否不为0,若是则所述AXI总线用于根据当前帧未被执行的读数据操作请求中执行读数据操作的存储单元地址,从所述存储单元中读取当前帧待解码的数据,或者,所述AXI总线用于根据当前帧未被执行的写数据操作请求中执行写数据操作的存储地址,将当前帧解码后的数据写入存储单元;否则所述处理单元用于发送复位信息至解码模块,所述复位模块用于根据复位信息对解码模块进行帧间复位,所述解码模块用于开始解析下一帧数据。
[0009]进一步地,所述AXI总线与AXI接口通过写地址通道、写数据通道、写响应通道、读地址通道、读数据通道连接;则所述错误控制模块包括计数单元,所述计算单元用于记录当前帧未被执行的数据操作请求个数;所述计数单元包括第一计数模块、第二计数模块、第三计数模块和第四计数模块;则所述“错误控制模块用于记录当前帧未被执行的数据操作请求个数”具体包括:
[0010]第一计数模块用于记录写地址通道中尚未执行写数据操作的存储地址的个数;[0011 ]第二计数模块用于记录写数据通道中尚未执行写数据操作的待写入数据的个数;
[0012]第三计数模块用于记录读数据通道中尚未执行读数据操作的存储地址的个数;
[0013]第四计数模块用于记录读地址通道中尚未执行读数据操作的待读取数据的个数。
[0014]进一步地,所述“计算单元用于记录当前帧未被执行的数据操作请求个数”具体包括:初始化计算单元的初始值,所述计算单元的初始值为解码模块发送至AXI总线的当前帧的数据操作请求的个数;当AXI总线每执行完成一当前帧的数据操作请求后,所述计算单元的值减一。
[0015]进一步地,所述“错误控制模块用于判断所记录的当前帧未被执行的数据操作请求个数不为O”具体包括:错误控制模块用于判断第一计数模块、第二计数模块、第三计数模块、第四计数模块的值均不为O。
[0016]发明人还提供了一种视频解码方法,所述方法应用于视频解码系统,所述系统包括视频解码器、处理单元、AXI总线和存储单元;所述视频解码器包括解码模块、复位模块和AXI接口,所述AXI接口包括错误控制模块;所述处理单元与解码模块连接,所述解码模块与复位模块连接,所述复位模块与AXI接口连接,所述AXI接口与解码模块连接;所述错误控制模块与AXI总线连接;则所述方法包括以下步骤:
[0017]解码模块发送一个或多个当前帧的数据操作请求至AXI总线,所述数据操作请求包括写数据操作请求或读数据操作请求,所述写数据操作请求包括执行写数据操作的存储地址以及待写入的数据;所述读数据操作请求包括执行读数据操作的存储地址;
[0018]错误控制模块记录当前帧未被执行的数据操作请求个数,所述未被执行的数据操作请求为缓存于AXI总线且尚未执行写数据操作或读数据操作的数据操作请求;
[0019]当前帧数据在解析过程中发生错误时,错误控制模块判断所记录的当前帧未被执行的数据操作请求个数是否不为0,若是则AXI总线根据当前帧未被执行的读数据操作请求中执行读数据操作的存储单元地址,从所述存储单元中读取当前帧待解码的数据,或者,AXI总线根据当前帧未被执行的写数据操作请求中执行写数据操作的存储地址,将当前帧解码后的数据写入存储单元;否则处理单元发送复位信息至解码模块,复位模块根据复位信息对解码模块进行帧间复位,解码模块开始解析下一帧数据。
[0020]进一步地,所述AXI总线与AXI接口通过写地址通道、写数据通道、写响应通道、读地址通道、读数据通道连接;则所述错误控制模块包括计数单元,所述计算单元用于记录当前帧未被执行的数据操作请求个数;所述计数单元包括第一计数模块、第二计数模块、第三计数模块和第四计数模块;则所述“错误控制模块记录当前帧未被执行的数据操作请求个数”具体包括:
[0021]第一计数模块记录写地址通道中尚未执行写数据操作的存储地址的个数;
[0022]第二计数模块记录写数据通道中尚未执行写数据操作的待写入数据的个数;
[0023]第三计数模块记录读数据通道中尚未执行读数据操作的存储地址的个数;
[0024]第四计数模块记录读地址通道中尚未执行读数据操作的待读取数据的个数。
[0025]进一步地,其特征在于,所述“计算单元用于记录当前帧未被执行的数据操作请求个数”具体包括:初始化计算单元的初始值,所述计算单元的初始值为解码模块发送至AXI总线的当前帧的数据操作请求的个数;当AXI总线每执行完成一当前帧的数据操作请求后,所述计算单元的值减一。
[0026]进一步地,所述“错误控制模块判断所记录的当前帧未被执行的数据操作请求个数是否不为O”具体包括:错误控制模块判断第一计数模块、第二计数模块、第三计数模块、第四计数模块的值是否均不为O。
[0027]上述技术方案所述的视频解码系统和方法,所述方法应用于视频解码系统,所述系统包括视频解码器、处理单元、AXI总线和存储单元;所述视频解码器包括解码模块、复位模块和AXI接口。所述方法包括以下步骤:首先解码模块发送一个或多个当前帧的数据操作请求至AXI总线,而后错误控制模块记录当前帧未被执行的数据操作请求个数。当前帧数据发生错误时,错误控制模块判断所记录的当前帧未被执行的数据操作请求个数是否不为O,若是则AXI总线根据当前帧未被执行的读数据操作请求中执行读数据操作的存储单元地址,从所述存储单元中读取当前帧待解码的数据,或者,AX
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1