谈论 基本概念(zz)

9/20/2010 9:46:24 PM

 

引用

基本概念(zz)
注意,H264码流的输出顺序是编码顺序,所以在编码B帧的时候,由于B是双向预测,需要先编码后面编码帧P/I,这时候先输出I/P,后面才有B帧,我们在解码段拿到相应的I/P帧后,不能马上丢到buffer list里面,还需要等待后面的B帧,解码B帧后再reorder.所以相应产生了两个参数。poc,frame_num这两个元素在slice级输出
 POC,和frame_num的概念:
  POC picture order count,是一个 顺序计数器,代表显示顺序,假如是场编码,那么分别要对两场都有不同的值,比如对第一帧的两场
top,bottom分别为0,1,所有的帧都包括在里面,包括B帧也需要计数,比如序列 IPBPB,假如是帧编码,那么序号分别为0,4,2,8,6, 顶底两场
别为0,0,4,4,2,2,8,8,6,6实际上这个并不输出到码流里面,假如是 场变码那么是0,1,4,5,2,3,8,9,6,7
frame_num ,是一个顺序计数器,代表帧的编码顺序,由于代表帧,计数器递增基数为2,所以总是偶数,
比如序列 IPBPB如果是帧编码,那么0,2,4,6,如果是场编码,那么是0,0,2,2,4,4,4,4,6,6
第一帧I不管top,bottom,都是0,第二帧P,top,bottom都是2,第3帧B,4,第四P也是4,第五B是6
注意B帧不能算编码帧,所以B slice中的frame_num只能等于后向参考帧的frame_num,注意当frame_num达到设定的最大值的时候,
frame_num,将重新归0, POC一般是分为两部分,一部分为高位,一部分为低位,上面说的都是低位pic_order_cnt_lsb,
当pic_order_cnt_lsb达到最大值的时候,将向高位Pic_Order_Cnt_Msb进位, 高位加上低位才是该场的POC.
在JM中由几个变量类型是int64,为什么可能会有如此的大数,看函数set_ref_pic_num,由于POC是一个一直递增的数值。
有时候list缓冲里面this_ref如果是帧编码
    enc_picture->top_ref_pic_num    [LIST_0][i] = this_ref->top_poc * 2;
    enc_picture->bottom_ref_pic_num [LIST_0][i] = this_ref->bottom_poc * 2 + 1;
那么top_poc将会等于bottom_poc,为了区分着两个值,因此我们做了扩展,但是这可能导致溢出,所以定义成64位的大数
这些变量似乎是在去块滤波里面有用到,用来计算滤波强度。关于去块滤波的问题,留着下次解决,需要先熟息标准,才能
看源代码....H.264的知识面太宽了,越来越感到它的无边了,作为压缩效率最高,图像质量最好,当然当今最复杂的动态图像压缩标准,
JVT工作组从开始着手准备,到现在通过ISO/ITU标准,也不过短短几年时间.
我觉得一天两天,一个月两个月拿下,那是不可能的事情,至今5个月了,我希望自己越来越接近目标,
 
5555555,同志啊,看到这位猛人都学了5个月,心里平衡多了:)现在我也是刚学H.264不久,感觉什么都不知道,谢谢这位仁兄提供这些基本概念,至少又懂一个POC,frame_num了:)
Ace Stream中文版是新一代的创新多媒体平台,其中包括针对普通互联网用户以及多媒体市场专业人员的不同产品和解决方案。 Ace Stream平台为互联网在线广播/节目提供了出色的视听质量,是存储和传送音频和视频内容的最有效系统。Ace Stream用户观看的视频质量等级比YouTube视频质量高10倍(以1080p格式提供),比OTT提供的VoD和Live Stream所有其他现有服务的广播/节目多出许多倍(Over The Top)服务运营商,它们不使用P2P技术。使用单播的现有直播服务或标准CDN运营商可以为相同数量的观众提供具有相同高级质量的直播,而普通Ace Stream用户可以使用家庭互联网频道从他的个人电脑提供! Ace Player HD支持的格式也是非常的全面: P2P 文件 ( *.acelive *.acestream *.acemedia *.torrent *.tslive ) 媒体文件 ( *.3g2 *.3gp *.3gp2 *.3gpp *.amv *.asf *.avi *.bin *.px *.drc *.dv *f4v *.flv *.gxf *.iso *.m1v *.m2v *.m2t *.m2ts *.m4v *.mkv *.mov *.mp2 *.mp2v *.mp4 *.mp4v *.mpa *.mpe *.mpeg *.mpeg1 *.mpeg2 *.mpeg4 *.mpg *.mpv2 *.mts *.mtv *.mxf *.mxg *.nsv *.nuv *.ogg *.ogm *.ogv *.ogx *.ps *.rec *.rm *.rmvb *.tod *.ts *.tts *.vob *.vro *.webm *.wm *.wmv *.3ga *.669 *.a52 *.aac *.ac3 *.adt *.adts *.aif *.aifc *.aiff *.amr *.aob *.ape *.awb *.caf *.cda *.dts *.flac *.it *.m4a *.m4p *.mid *.mka *.mlp *.mod *.mp1 *.mp2 *.mp3 *.mpc *.mpga *.oga *.ogg *.oma *.opus *.qcp *.ra *.rmi *.s3m *.spx *.thd *.tta *.voc *.vqf *.w64 *.wav *.wma *.wv *.xa *.xm *.asx *.b4s *.cue *.ifo *.m3u *.m3u8 *.pls *.ram *.rar *.sdp *.vlc *.xspf *.wvx *.zip *.conf ) 视频文件 ( *.3g2 *.3gp *.3gp2 *.3gpp *.amv *.asf *.avi *.bin *.px *.drc *.dv *f4v *.flv *.gxf *.iso *.m1v *.m2v *.m2t *.m2ts *.m4v *.mkv *.mov *.mp2 *.mp2v *.mp4 *.mp4v *.mpa *.mpe *.mpeg *.mpeg1 *.mpeg2 *.mpeg4 *.mpg *.mpv2 *.mts *.mtv *.mxf *.mxg *.nsv *.nuv *.ogg *.ogm *.ogv *.ogx *.ps *.rec *.rm *.rmvb *.tod *.ts *.tts *.vob *.vro *.webm *.wm *.wmv ) 音频文件 ( *.3ga *.669 *.a52 *.aac *.ac3 *.adt *.adts *.aif *.aifc *.aiff *.amr *.aob *.ape *.awb *.caf *.cda *.dts *.flac *.it *.m4a *.m4p *.mid *.mka *.mlp *.mod *.mp1 *.mp2 *.mp3 *.mpc *.mpga *.oga *.ogg *.oma *.opus *.qcp *.ra *.rmi *.s3m *.spx *.thd *.tta *.voc *.vqf *.w64 *.wav *.wma *.wv *.xa *.xm ) 播放列表文件 ( *.asx *.b4s *.cue *.ifo *.m3u *.m3u8 *.pls *.ram *.rar *.sdp *.vlc *.xspf *.wvx *.zip *.conf )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值