流媒体编码参数确定办法

来源:互联网 发布:梦里花落知多少2郭敬明 编辑:程序博客网 时间:2024/06/06 03:39

    随着流媒体技术在国内的日益普及与其在互联网、移动通信网络的广泛应用,如何确定流媒体文件编码过程中的编码码率及编码图像大小成为相关技术人员、工程师等所关注的焦点。

    随着流媒体技术在国内的日益普及与其在互联网、移动通信网络的广泛应用,如何确定流媒体文件编码过程中的编码码率及编码图像大小成为相关技术人员、工程师等所关注的焦点。
    我们在流媒体文件的编码过程中总是试图得到最佳的图像质量,这可以通过调整编码过程中帧的大小或编码码率来实现。在此可通过位每像素(BPP,BitPerPixel)来确定帧的大小或编码码率,从而得到理想的图像质量。
    位每像素(BPP)是通过调整帧的大小或编码码率得到最佳图像质量的一个重要参考指标.

    如果已确认要编码的视频图像帧的大小,但不确定采用何种编码码率可以得到最佳的编码图像质量,可采用如公式1确定编码码率。
    公式1:编码码率=位每像素×帧率×宽度×高度
    (Bitrate=BPP×FrameRate×Width×Height)

    如果已确认所采用的编码码率,但不确定采用何种帧的尺寸大小以得到最佳目标图像质量,可以采用公式2确定帧的大小。其中图像宽高比对于NTSC或PAL制式的图像为4/3,而大部分的宽荧幕电影图像宽高比为16/9。
    公式2:高度=SQRT(编码码率/(位每像素×帧率×图像宽高比))
    Height=SQRT(Bitrate/(BPP×FrameRate×AspectRatio))
    宽度=图像宽高比×高度Width=AspectRatio×Height

    通过案例的分析,我们可以找到在流媒体文件编码过程中编码码率、帧率、编码图像的宽度与高度、图像运动速度、图像质量与位每像素BPP之间的相互关系,其中位每像素数值在其中发挥着非常关键的作用,本文所推导的相关公式为专业技术人员、流媒体技术爱好者提供了一个实用工具。

    假定采用56k的Modem(26Kbps的编码码率)来编码讲话的人头影像(Talking Heads),同时你希望得到质量等级为“中等”的编码图像。通过查询得到位每像素应为0.075(BPP=0.075),通过公式2将可以得到编码帧的高度与宽度参数。
    高度=SQRT(26,000bits/sec/(0.075×7.5fps×1.33))=186宽度=1.33×186=248由此可以确定将编码帧的大小设定为240X180将是最佳的选择。

    假定你需要将帧的大小为720×480的宽荧幕电影画面进行编码,希望得到质量等级为“很好”的编码图像。通过查询表1得到位每像素应为0.2(BPP=0.200)。通过公式1将得到相应的编码码率:编码码率=0.2×24fps×720×480=2074Kbps为得到给定编码图像质量等级所推荐采用的编码码率将取决于帧的尺寸大小与编码影像内容的运动程度。最好的编码码率的确定办法是通过位每像素(BPP)指标实现,位每像素可以定义为帧的尺寸大小与帧率的函数。
    位每像素=编码码率×1/帧率×1/(宽度×高度)在此编码码率以比特/秒为单位,帧率的单位为帧/秒。
    计算给定视频图像尺寸的编码码率公式如下:编码码率=位每像素×帧率×宽度×高度

    如果编码视频内容为高速运动的,帧的尺寸大小为320X240,同时编码帧率为30fps,如欲得到的编码图像质量等级为“很好”,需采用的编码码率计算如下:编码码率=0.225×30×320×240=518kbps(BPP=0.225)
    如欲通过给定的编码码率、帧率与图像运动程度来确定帧的尺寸大小,可以按照下面公式计算:宽度×高度=编码码率/(位每像素×帧率)
    如果图像宽高比为4∶3,则宽度/高度=4/3;如图像宽高比为16/9,则宽度/高度=16/9。
    如以AR(Aspect Ratio)代表图像宽高比,则上述公式变为:图像宽高比×高度×高度=编码码率/(位每像素×帧率)或图像高度=SQRT((编码码率/(位每像素×帧率×图像宽高比))
    图像宽度=AR×图像高度

原创粉丝点击