毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
H.264视频转码的设计与实现+文献综述(8)
下表给出了上述几个参考模型的综合对比。
JM X264 T264
语言 C C、X86汇编 C
特点 官方测试代码,按照标准组织软件结构 注重实用,没有实现解码器 具有基C64X+DSP的版本
标准兼容性 完全兼容 没有完全实现 解码器不兼容
可移植性 很好 较低 很好
速度 非常慢 较快 很快
图像质量 较高 高 低
从上表可以看出,x264没有实现解码器;T264虽然可移植性、解码速度都很有优势,但是其解码器没有兼容性,只能解码T264编码器输出的码流,这必将影响其应用的广泛性。经过综合比较,本文最终选择基于JM10.1进行H.264转码器程序的实现,因为JM模型完全基于C语言实现,具有结构清晰、易于分析、移植方便等特点。
3.2 JM编码器分析
经过分析,JM编码器的主流程如图3-1和图3-2,函数Init_img()初始化Img参数,并给其中的就某些member分配内存,allocate memory for frame buffers用来放把重建帧进行1/4内插后的图像,函数init_global_buffers()为全局变量分配内存,函数Init_Motion_Search_Module()设置mv_search时候的参数,比如搜索范围。函数start_sequence()根据输出的模式,确定写nalu的方法,写sps,pps到输出文件中。在进行相应的初始工作之后循环调用encode_one_frame()函数,对原始视频序列的每一帧进行编码处理。
图3-1 JM编码主函数流程
图3-2 JM编码器主流程
从encode_one_frame()这个函数开始才开始真正进入编码阶段,在次之前都是做的一些准备工作,但是这个函数不是核心函数,这个函数的主要功能是通过调用其他的函数对一帧数据进行编码,每调用该函数一次,处理完一帧数据。函数frame_picture()是encode_one_frame()的主要函数,接着调用函数encode_one_slice()和encode_one_macroblock()分别对片数据和宏块编码。
3.3 JM解码器分析
经过分析,JM解码器的主流程如图3-3所示,在进行相应的初始工作之后循环调用Decode_one_frame()函数,对视频编码序列的每一帧进行解码处理。函数Decode_one_frame()的流程由图3-4给出,从中可以清晰的看出视频数据的分层处理结构,即对frame, slice, macroblock进行逐层解析。
图 3-3 JM解码器主流程图 3-4 Decode_one_frame()函数流程
如图3-4帧解码过程中,先通过read_new_slice()对码流中的片数据进行读取,然后进行片解码decode_slice()。接着判断该片是否解码完成,如果没有完成,则继续读循环取下一片数据,再解码。如果所有片解码完成,则对该图像进行去方块效应滤波。滤波是对图像中每一个宏块进行的,即DeblockMb()函数。该函数又包含获取边界强度GetStrength()和滤波过程EdgeLoop()。进行滤波之后,把已解码帧放入解码帧缓冲器(DPB),作为后续解码过程的参考帧。放入解码帧缓冲器的中的参考帧是按队列存放的。默认情况下,解码帧缓冲器最多存放16帧图像。当解码帧缓充器中的参考帧存放满而没有空间时,如有新的帧要进入则输出最早进入队列的帧,其它帧按顺序在队列中前移一位。
read_new_slice()流程:该过程读取编码片中的数据。首先,通过Al1ocNALU()为NAL单元分配一个大小为MAX_CODED_FRAME_SIZE的堆空间,用来存放己编码的帧。然后判断NAL单元类型,根据nal_unit_type的不同取值,进入不同的解码方式。接着是一些初始化,然后decode_poc()函数计算图像序列号POC(Picture Order Count),根据pic_order_cnt_type值的不同,会采用不同的算法来计算 POC。最后,执行函数FreeNALU(),释放分配的NAL单元堆空间,read_new_slice()过程结束。
共10页:
上一页
1
2
3
4
5
6
7
8
9
10
下一页
上一篇:
AT89C52单片机的电子万年历设计+硬件电路
下一篇:
基于组态软件的汽车故障设置检测系统设计
FPGA视频解码芯片I2C总线配置设计+程序
HEVC高效视频编码中的码率控制算法研究
高效视频编码中的帧内模式选择算法研究
USB3.0的CameraLink视频数据传输电路设计
视频中运动目标的检测方法研究
matlab视频图像序列中的运动目标检测算法研究
H.265标准下视频降码率转码技术的研究
高校网球场馆运营管理初探【1805字】
国内外无刷直流电动机研究现状
浅谈传统人文精神茬大學...
多元化刑事简易程序构建探讨【9365字】
《醉青春》导演作品阐述
辩护律师的作证义务和保...
中国古代秘书擅权的发展和恶变
浅谈新形势下妇产科护理...
拉力采集上位机软件开发任务书
谷度酒庄消费者回访调查问卷表