论文部分内容阅读
因特网的应用越来越广泛,网民的需要也已经从最初的文字到如今的网络多媒体的转变,能够实时观看在线视频成了目前最迫切的需要。尽管宽带网络已经开始普及,但可惜的是,如果想在线观看高质量的视频,至少在短时间内目前的带宽仍然是不够的。另外,无线通信已经成为当前IT领域的一个大热点,对无线通信来说,带宽就更加有限,并且传输线路不稳定,错误率高,在这种情况下,如果想通过无线网络在线观看视频,必然需要视频发送端在保证质量的情况下对视频进行尽可能的压缩,同时提供强大的纠错和抗错能力。MPEG-4 Advanced Simple Profile就是针对以上的应用提出来的,本文对MPEG-4 ASP解码器的设计进行了完整的阐述。 由于MPEG-4 ASP用到了诸如1/4像素运动补偿等较为复杂的技术,解码算法的运算量非常大,为了保证能够实时解码,解码器中的各个功能模块必须并行工作。本文在对解码器中各个功能模块的运算量进行充分估计的基础上,完成了模块的划分。完成了模块的划分后,采取何种控制策略也是非常重要的,不同的控制策略对片上RAM的要求和解码器效率都有很大的影响。在综合考虑各种因素后,我们最终选择集中控制的策略,由一个总控制器协调各个模块的工作,模块间用两个Bank的双口RAM进行连接。 只有通过了标准规定的MPEG-4 ASP@L5的所有测试码流才能说明我们的解码器是一个一致性的MPEG-4 ASP@L5的解码器。本文介绍了一致性测试所用到的测试码流,静态测试和动态测试的方法。一致性测试是在整个解码器完成之后才进行的,在解码器设计过程中还需要对各个模块进行测试。虽然可以在整个系统建立起来之后才进行测试,但那是非常不利的,因为一旦出了错误,将非常难以定位。因此在各个子模块的描述完成后,就应该进行充分的测试以验证其正确性。为了加快验证的进度,我们采用软硬件协同仿真的策略,由软件给硬件提供规定格式的输入数据,并对硬件输出的结果的正确性进行判断。另外,为了测试方便,我们将输入FIFO设定为无穷大,避免的对FIFO的不断操作,进一步加快了仿真速度。 MPEG-4 ASP规定的图像大小为720x576,帧率为25fps,解码过程中的数据量是非常大的,帧存只可能放在片外RAM中。另外,为了实时解码,需要开辟比较大的解码缓冲区和显示缓冲区,这两个缓冲区也只能放在片外。在解码过程中,对片外RAM的访问量非常大,这样就很有可能造成总线访问的冲突,采取怎么样的策略解决总线使用的问题对实时解码有非常重要的意义。本文结合视频解码器中各个任务的特点,提出了“轮询”的总线控制策略,硬件实现非常简单。为了验证该总线策略的有效性以及确定各个FIFO的大小,本文还提出了一个总线仿真模型,它能够模拟总线的工作情况,能够验证解码器能否实时解码。