T264中的slice type decision
来源:互联网 发布:json怎么调用接口数据 编辑:程序博客网 时间:2024/06/10 23:26
在H.264里面当前帧属于哪个slice的决定形式是多种多样的,对于JM中的码流中,一般一帧图象就认为是一个slice,那么如果当前帧是一个I帧,那么它就属于一个I slice.这时整个frame的为一个slice.但是具体我们用什么样的方式来进行slice type的决策呢,这也是一个问题。我们看一下T264里面是如何处理这个问题的。
在T264中,如果我们设定了,USE_SCENEDETECT的话,当前的slice种类是由当前帧的帧号与设定的idrframe,iframe跟bframe相关的,如果frame_no%idrframe==0的话,那么说明当前帧是属于一个IDR slice的,如果frame_no%iframe==0的话,该帧属于一个I slice.如果上面的情况不满足那么是属于P slice或B slice.由于码流中只有如下几种类型:0) I P P P ..... I P P P 1) I B P B P.....B P B P 2) I B B P B B P.....B B P I B B P,所以如果frame_no%(bframe+1)==0的话,就属于P slice,如果不是的话属于B slice.
如没有使用USE_SCENEDETECT的话,是用MeAnalysis来决定当前属于什么slice的。这种形式是动态式地决定是不是要加入一个I slice。决定流程如下:如果我们达到了我们在config里面设定的iframe interval的话,当前帧就是一个I slice.我们设定一个INTRA_THRESHOLD,对帧中的每一个宏块进行预测,来计算sad.这个过程因为计算量比较大,所以使用了简化算法,首先用前一帧的mv做预测值,计算sad,如果这个值大于我们设定的SEARCH_THRESHOLD的话,说明上一帧的mv已不适合做当前帧的预测,我们会使用一个简化的diamond search来简单地找一下当前宏块的mv,进行sad计算。整个帧的sad计算结束之后,我们与INTRA_THRESHOLD进行比较,如果sad大的话,这一帧为I slice中的一帧,如果小的话,我们认为它是一个P或B帧。对于当前帧是P还是B帧还是用上面的方法进行。
- T264中的slice type decision
- H264 Intro - slice type
- JBPM 中的decision 使用
- jbpm中的decision使用
- 关于Process Type:Decision Between Multiple Alternatives
- H.264中的Slice和Slice Group
- H.264中的Slice和Slice Group
- slice中的类
- Slice中的Class
- javaScript 中的 slice 函数
- 字符串中的slice()
- H.264中的Slice
- python中的slice
- javascript中的slice
- Go语言中的Slice
- go中的slice坑
- caffe中的Slice层
- H264中slice type的判断方法,
- 基于RTP协议和MPEG-4的流媒体系统分析与实现
- Asp.net常用函数大全(转)
- 软件开发的管理和控制(转载)
- MPEG-4视频编码核心思想及技术研究
- 上升的窗口!
- T264中的slice type decision
- 明天~哦。。不,今天
- Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用
- 在httpservlet中同时使用getParameter和getInputStream时注意的问题
- Getting Started with Eclipse and the SWT
- 神经网络遗传算法
- Java动态程序设计:反射介绍(zz from jr)
- 使用Eclipse进行SWT编程(1)
- [翻译]SCJP考试FAQ by Roseanne Zhang(1)