• 我对视频“分辨率”的理解以及在电视上显示的理解


            在学习音视频技术时,会经常看到分辨率这个概念,在网上也查询到不少这个概念的解释,但是总感觉说的太理论哭。对于本来就是一个抽象的概念,还说的那么理论,那就更难理解了大哭。所以,我想将我对视频分别率的理解用一个比较形象的解释列出来。

            我们都知道,视频是由一个个的帧串联而成,视频的分辨率,其实说的就是帧的分辨率,所以理解了帧的分辨率,也就理解了视频的分辨率。假设现在有一副帧,如下所示:


    图1


           这副帧的分辨率是1920 * 1080,则意味着此帧在水平方向上有1920个像素点,在垂直方向上有1080个像素点,算下来一共是1920 * 1080 = 2073600个像素点组成了此帧。我们说的存储图片,其实说白了就是存储这些像素点。

           下面再来说说此帧咋电视上的显示。

           假设我家有一台电视机,电视机屏幕支持的分辨率正好也是1920 * 1080,也就是说电视机水平方向可以有1920个像素点来显示一副图片,垂直方向可以有1080个像素点来显示图片,与我们上述的图片真是一拍即合啊,所以我们上述的图片在电视机上正好满屏显示,太完美了。

           如果我家的电视机屏幕支持的分辨率是1280 * 720,那么上述图片在此电视上会显示成什么样呢?由于电视机屏幕水平方向只有1280个像素点,少于图片要求的1920个像素点;电视机屏幕垂直方向只有720个像素点,少于图片要求的1080个像素点,那么此图片在电视上显示的结果个人认为有两种情况:

           1.电视机可能会对图片进行失真处理,即从图片水平方向的1920个像素点里依据某种算法剔除掉1920 - 1280 = 640个像素点,从图片垂直方向的1080个像素点里依据某种算法剔除掉1080 - 720 = 360个像素点,这样就能将整张图片显示出来了。由于剔除了一些像素点,所以你在电视上看时,可能会觉得图片没什么变化,也可能会觉得图片有点失真,这取决于电视机所用的剔除算法。

           2.电视机不对图片进行任何处理,就用1280 * 720这些个像素点去显示图片,最终你在电视上看到的图片只是原图的一部分,还有一部分电视显示不下,如下图所示:



    图2



           如果我家的电视机屏幕支持的分辨率是3840 * 2160,也就是传说中的4K电视,那么上述图片在此电视上会显示成什么样呢?由于电视机屏幕水平方向有3840个像素点,多于图片要求的1920个像素点;电视机屏幕垂直方向有2160个像素点,多于图片要求的1080个像素点,那么此图片在电视上显示的结果个人认为也有两种情况:

           1.电视机可能会对图片进行拉伸处理,即依据某种算法把图片水平方向的1920个像素点拉伸一下,强行用3840个像素点来显示这1920个像素点;依据某种算法把图片垂直方向的1080个像素点也拉伸一下,强行用2160个像素点来显示这1080个像素点,这样就能将整张图片显示出来了。但你在电视上看时,可能会觉得图片没什么变化,也可能会觉得由于被拉伸图片有点模糊,这取决于电视机所用的拉伸算法。

            2.电视机不对图片进行任何处理,就用3840 * 2160这些个像素点去显示图片,最终你在电视上看到的图片会缩在电视屏幕的中央,也就是占用了中央的1920 * 1080个像素点,电视剩余的像素点则什么也不显示,如下图所示:



    图3



    以上是我个人对视频分辨率的理解,以及在不同分辨率电视上显示效果的理解。

  • 相关阅读:
    SpringBoot集成MyBatisPlus
    Android 图片混排富文本编辑器控件
    Android 图片压缩器
    python中yield用法
    ubuntu下tesseract 4.0安装及参数使用
    Linux 命令行命令及参数辨异
    一题多解 —— linux 日志文件(log)reload 重新载入
    python中list用法及遍历删除元素
    计算机科学 —— 时间戳(timestamp)
    ubuntu中使用apt-get安装zbar
  • 原文地址:https://www.cnblogs.com/itblog/p/7236598.html
Copyright © 2020-2023  润新知