位置:51电子网 » 技术资料 » 其它综合

嵌入式视频解码的实现

发布时间:2007/8/30 0:00:00 访问次数:415

来源:电子技术应用  作者:刘东华


摘要:在嵌入式手机开发平台上实现视频解码处理的方法。首先介绍视频解码在嵌入式平台上的处理流程,然后具体分析视频解码算法中各个关键模块的实现方法,最后对该平台上的处理性能进行分析并给出结论。
关键词:嵌入式平台视频解码AVS-M


视频业务作为下一代移动通信的重要应用,已经越来越受到重视。目前,很多高端移动通信设备和智能手机都提供嵌入式操作系统,支持第三方的小应用程序。因此,在嵌入式手机平台上开发视频应用具有很好的前景。但是,由于目前手机平台资源有限,不能实现复杂性较高的实时视频压缩编码,所以首先要实现视频的解码处理。下面介绍在嵌入式手机平台上实现视频解码处理的方法及相应结果。


1 系统处理流程
在嵌入式平台上实现的视频解码可以分为系统设置(包括操作系统初始化等)和视频解码处理两部分。处理流程如图l所示。



1.1 系统设置
完成初始化系统,调用系统程序完成CPU初始化,配置寄存器以确保存储器访问正确。对嵌入式操作系统的内核进行初始化,以μITRON操作系统为例,调用vs_ta_knl和ivsta_knl实现操作系统初始化。初始化过程主要包括:
(1)设置终端寄存器和矢量寄存器(VBR)等关键寄存器。
(2)初始化内核工作区。
(3)创建初始化定义对象。
(4)启动生成的系统初始化程序,包括定时器(timer)、存储管理单元(MMU)等。
(5)转向多任务进程(MultiTasking),并开始第一个任务。


由于视频解码算法采用C语言实现,因此还要完成任务的配置和初始化等工作以及C语言运行环境配置等。


在完成操作系统内核初始化之后,程序进入多任务状态,其中视频解码处理部分作为主任务开始执行。


1.2 视频解码处理
视频解码处理部分是整个系统的主任务其第一步仍然是任务配置和初始化。首先通过寄存器配置启动CACHE并初始化,主要完成指令CACHE(IC)、操作数CACHE(0C)使能以及其他必需的模块操作。接下来初始化LCD显示模块,包括设置LCD初始化参数、LCD驱动参数及LCD绘图参数。RGB转换单元初始化用于使能视频引擎单元及视频色彩空间的转换。


在解码开始前,先对解码参数初始化,包括分配存储和倒换缓冲区、初始化查找表等。而后通过解析压缩的标准视频数据流获取序列和图像参数集及标记信息。若解析得到的信息显示存在一帧图像数据,则进入主处理模块进行图像解码;否则释放资源,任务结束。在每一帧图像解码完成后,通常得到YCbCr格式的数据,通过RGB转换单元变换成可在LCD显示的RGB格式的数据(后处理),送入相应的缓冲区,实现LED显示。然后继续解析码流,直到完成整个序列的解码、显示。最后释放资源,任务结束。


2 视频解码算法实现
目前,比较流行的视频压缩标准主要有MPEG4和H.264。其中H.264的压缩效率和图像质量在同等条件下要优于MPFEC4,同时也更适合移动应用。拥有自主知识产权的移动视频标准AVS-M也在制定。AVS-M与H.264Basehne在标准框架上有很多相似之处,下面对这两种标准中采用的关键处理模块进行分析。


由于嵌入式移动终端的主频和存储资源有限,因此实现视频解码的关键在于如何优化程序,提高执行效率,降低存储需求。针对嵌入式处理器的特点,考虑到资源的有效利用,在实现视频解码过程中应采用下列策略:
(1)优化数据结构。例如采用合理的数据结构,提高指针和数组的寻址效率等。
(2)改善数据处理流程。例如将解码过程中宏块的预测模式、运动矢量的初始化在帧一级实现,通过模块模糊化尽可能减少各个模块之间数据缓存的倒换等。
(3)充分利用硬件平台特点。例如提高CACHE命中率、有效利用片上存储资源、实现软件流水等。


以AVS-M为例,对标准视频序列总线进行测试,得到如表l所示的视频解码算法中各部分的处理时间比例。



在解码过程中,反量化/反变换模块、运动补偿模块和重构模块占用了大部分处理资源,因此这里主要考虑对这三个模块的处理。


2.1 反量化/反变换
为降低运算量,H.264基线和AVS-M的变换采用整数离散余弦的4×4变换,变换矩阵由全部是整数的核心矩阵和系数矩阵组成。系数矩阵与量化过程结合,变换部分就成为可逆的整数变换。视频解码过程中,从码流解析出每个4×4块的量化系数进行反量化和反变换,生成该4×4数据块的参差矩阵,与预测矩阵共同重构出解码图像块。实现此功能可采取以下策略:


(1)将4×4量化系数矩阵用一维数组来表示,避免在每次取操作数时两次寻址,提高寻址效率。
(2)在同一个模块实现反量化、反变换和重构。整个操作过程均针对存放16个量化系数的数组进行

来源:电子技术应用  作者:刘东华


摘要:在嵌入式手机开发平台上实现视频解码处理的方法。首先介绍视频解码在嵌入式平台上的处理流程,然后具体分析视频解码算法中各个关键模块的实现方法,最后对该平台上的处理性能进行分析并给出结论。
关键词:嵌入式平台视频解码AVS-M


视频业务作为下一代移动通信的重要应用,已经越来越受到重视。目前,很多高端移动通信设备和智能手机都提供嵌入式操作系统,支持第三方的小应用程序。因此,在嵌入式手机平台上开发视频应用具有很好的前景。但是,由于目前手机平台资源有限,不能实现复杂性较高的实时视频压缩编码,所以首先要实现视频的解码处理。下面介绍在嵌入式手机平台上实现视频解码处理的方法及相应结果。


1 系统处理流程
在嵌入式平台上实现的视频解码可以分为系统设置(包括操作系统初始化等)和视频解码处理两部分。处理流程如图l所示。



1.1 系统设置
完成初始化系统,调用系统程序完成CPU初始化,配置寄存器以确保存储器访问正确。对嵌入式操作系统的内核进行初始化,以μITRON操作系统为例,调用vs_ta_knl和ivsta_knl实现操作系统初始化。初始化过程主要包括:
(1)设置终端寄存器和矢量寄存器(VBR)等关键寄存器。
(2)初始化内核工作区。
(3)创建初始化定义对象。
(4)启动生成的系统初始化程序,包括定时器(timer)、存储管理单元(MMU)等。
(5)转向多任务进程(MultiTasking),并开始第一个任务。


由于视频解码算法采用C语言实现,因此还要完成任务的配置和初始化等工作以及C语言运行环境配置等。


在完成操作系统内核初始化之后,程序进入多任务状态,其中视频解码处理部分作为主任务开始执行。


1.2 视频解码处理
视频解码处理部分是整个系统的主任务其第一步仍然是任务配置和初始化。首先通过寄存器配置启动CACHE并初始化,主要完成指令CACHE(IC)、操作数CACHE(0C)使能以及其他必需的模块操作。接下来初始化LCD显示模块,包括设置LCD初始化参数、LCD驱动参数及LCD绘图参数。RGB转换单元初始化用于使能视频引擎单元及视频色彩空间的转换。


在解码开始前,先对解码参数初始化,包括分配存储和倒换缓冲区、初始化查找表等。而后通过解析压缩的标准视频数据流获取序列和图像参数集及标记信息。若解析得到的信息显示存在一帧图像数据,则进入主处理模块进行图像解码;否则释放资源,任务结束。在每一帧图像解码完成后,通常得到YCbCr格式的数据,通过RGB转换单元变换成可在LCD显示的RGB格式的数据(后处理),送入相应的缓冲区,实现LED显示。然后继续解析码流,直到完成整个序列的解码、显示。最后释放资源,任务结束。


2 视频解码算法实现
目前,比较流行的视频压缩标准主要有MPEG4和H.264。其中H.264的压缩效率和图像质量在同等条件下要优于MPFEC4,同时也更适合移动应用。拥有自主知识产权的移动视频标准AVS-M也在制定。AVS-M与H.264Basehne在标准框架上有很多相似之处,下面对这两种标准中采用的关键处理模块进行分析。


由于嵌入式移动终端的主频和存储资源有限,因此实现视频解码的关键在于如何优化程序,提高执行效率,降低存储需求。针对嵌入式处理器的特点,考虑到资源的有效利用,在实现视频解码过程中应采用下列策略:
(1)优化数据结构。例如采用合理的数据结构,提高指针和数组的寻址效率等。
(2)改善数据处理流程。例如将解码过程中宏块的预测模式、运动矢量的初始化在帧一级实现,通过模块模糊化尽可能减少各个模块之间数据缓存的倒换等。
(3)充分利用硬件平台特点。例如提高CACHE命中率、有效利用片上存储资源、实现软件流水等。


以AVS-M为例,对标准视频序列总线进行测试,得到如表l所示的视频解码算法中各部分的处理时间比例。



在解码过程中,反量化/反变换模块、运动补偿模块和重构模块占用了大部分处理资源,因此这里主要考虑对这三个模块的处理。


2.1 反量化/反变换
为降低运算量,H.264基线和AVS-M的变换采用整数离散余弦的4×4变换,变换矩阵由全部是整数的核心矩阵和系数矩阵组成。系数矩阵与量化过程结合,变换部分就成为可逆的整数变换。视频解码过程中,从码流解析出每个4×4块的量化系数进行反量化和反变换,生成该4×4数据块的参差矩阵,与预测矩阵共同重构出解码图像块。实现此功能可采取以下策略:


(1)将4×4量化系数矩阵用一维数组来表示,避免在每次取操作数时两次寻址,提高寻址效率。
(2)在同一个模块实现反量化、反变换和重构。整个操作过程均针对存放16个量化系数的数组进行

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!