视频等级level划分

1、H.264共定义了13个级别,1、2 、2.1、3、3.1、4、4.1、5、5.1、5.2、6、6.1、6.2。

级别(Level)是用来约束分辨率、帧率和码率的。

H264等级的计算

  frameMbs = Math.ceil(nwidth/16) * Math.ceil(nheight/16);// 计算每帧宏块数

  secondMbs = frameMbs * nfps;// 计算每秒宏块数

  DpbMbs = frameMbs * nref;// 计算DPB宏块数

  最大存储帧数与DPB有关——DPB:decoded picture buffer,解码图片缓存区。在做视频解码时,需要将最近的若干幅参考帧缓存起来,这个缓冲区就叫做DPB。所以最大存储帧数也是最大参考帧数(ref)。

  当DPB中的图像达到了该level下最大尺寸,则DPB只能存放6帧图像。如果DPB中的图像小于该level下最大尺寸,则DPB至多能存放16帧图像(取决于图像尺寸)。

  level还限制了每帧图像水平和垂直方向最大tile数量,以及每秒最大tile数。

参数

  {Level:"1", MaxDpbMbs:396, MaxSecondMbs:1485, MaxFrameMbs:99}

  {Level:"1.1", MaxDpbMbs:900, MaxSecondMbs:3000, MaxFrameMbs:396}

  {Level:"1.2", MaxDpbMbs:2376, MaxSecondMbs:6000, MaxFrameMbs:396}

  {Level:"1.3", MaxDpbMbs:2376, MaxSecondMbs:11880, MaxFrameMbs:396}

  {Level:"2", MaxDpbMbs:2376, MaxSecondMbs:11880, MaxFrameMbs:396}

  {Level:"2.1", MaxDpbMbs:4752, MaxSecondMbs:19800, MaxFrameMbs:792}

  {Level:"2.2", MaxDpbMbs:8100, MaxSecondMbs:20250, MaxFrameMbs:1620}

  {Level:"3", MaxDpbMbs:8100, MaxSecondMbs:40500, MaxFrameMbs:1620}

  {Level:"3.1", MaxDpbMbs:18000, MaxSecondMbs:108000, MaxFrameMbs:3600}

  {Level:"3.2", MaxDpbMbs:20480, MaxSecondMbs:216000, MaxFrameMbs:5120}

  {Level:"4", MaxDpbMbs:32768, MaxSecondMbs:245760, MaxFrameMbs:8192}

  {Level:"4.1", MaxDpbMbs:32768, MaxSecondMbs:245760, MaxFrameMbs:8192}

  {Level:"4.2", MaxDpbMbs:34816, MaxSecondMbs:522240, MaxFrameMbs:8704}

  {Level:"5", MaxDpbMbs:110400, MaxSecondMbs:589824, MaxFrameMbs:22080}

  {Level:"5.1", MaxDpbMbs:184320, MaxSecondMbs:983040, MaxFrameMbs:36864

例如:1280*720*60

  frame=80*45=3600,等级Level 3.1以上

  sencondMbs=3600*60=216000,等级Level 3.2以上

二、H265等级

H265共定义了13个级别,1、2 、2.1、3、3.1、4、4.1、5、5.1、5.2、6、6.1、6.2。

级别(Level)是用来约束分辨率、帧率和码率的。

如下图所示:

Max Luma Picture Size(samples)表示每帧亮度分量的像素数。

Max Luma Sample Rate(samples/s)表示每秒的亮度像素数。

等级计算

  samples=width*height

  samples=samples*帧频

  每个level下,图像的宽和高都要小于等于sqrt(8*samples)。

  例如480P(832x480)视频,每帧亮度分量的像素数=832x480=399360,可知其level必须在3以上,如果帧率为60,每秒的亮度像素数=832x480x60=23961600,所有其level为3.1或以上。

  例如720P(1280x720)视频,每帧亮度分量的像素数=1280x720=921600,可知其level必须在3.1以上。当level为4时,其帧率至少为66846720/921600=72.5。

例如:1280*720*60

  samples=1280*720=921600,等级Level 3.1以上

  samples=921600*60=55296000,等级Level 4以上

例如:1920*1080*60

  samples=1920*1080=2073600,等级Level 4以上

  samples=2073600*60=124416000,等级Level 4.1

(0)

相关推荐