理解视频画质的不同级别
视频画质等级
-
SD(Standard Definition):标清。物理分辨率在 1280x720 以下的一种视频格式。分别是:
- 480i/p:640x480, 704x480, 720x480, 848x480等
- 576i/p:720x576, 768x576, 1024x576等
-
HD(High Definition):高清。有三种显示格式,分别是:
- 720p:960x720,1280x720
- 1080p:1440x1080,1920x1080(p:逐行扫描,非交错式,场频为24或30)
- 1080i :1440x1080,1920x1080(i:隔行扫描,交错式,场频60 )
-
FHD(Full High Definition):全高清。分辨率一般是:1080p
-
UHD(Ultra High Definition):超高清、或 4k UHD。分辨率一般是 4K
-
FUHD(Full Ultra High Definition):8k超高清、或 8k UHD
视频 1080p 和 1080i 的区别
1080p:
- 分辨率:1440x1080、1920x1080
- 含义:“1080”表示垂直方向上有 1080 条水平扫描线,“p”表示采用非交错式扫描,即逐行扫描。每秒显示 24 或 30 个完整画面。
- 应用:每一线都同时表现在画面上,因此比隔行扫描电视更加的平滑。这是最高的高清标准。适合播放播放运动和电影类的题材内容。
1080i:
- 分辨率:1440x1080、1920x1080
- 含义:“1080”表示垂直方向上有 1080 条水平扫描线,“i”表示采用交错式扫描,即隔行扫描。每秒显示 60 个完整画面。
- 应用:每一个奇数行图像都在每一偶数行图像后面显示出来,当然图像就不会那么平滑。适于表现纪录片和野生动物等题材,但是不是那么适合播放运动和电影类的内容。
备注:1920x1080,表示水平方向上有 1920 个像素点,垂直方向上有 1080 个像素点,即水平扫描线为 1080 条,垂直扫描线为 1920 条。
视频画质标准
- 视频网站的超清、高清、标清的分类标准
广播电视级别:
-
标清=Standard Definition=SD
-
NTSC(美国电视业标准)制式标清:纵向480线=480i/p (640x480, 704x480, 720x480, 848x480等),60I(即每秒 30 帧隔行)
-
PAL(中国电视业标准)制式标清:纵向576线=576i/p (720x576, 768x576, 1024x576等),50I(即每秒 25 帧隔行)
备注:NTSC(National Television System Committee)和PAL(Phase Alternating Line)属于全球两大主要的电视广播制式,但是由于 系统投射颜色影像的频率 而有所不同。NTSC主要应用于日本、美国、加拿大、墨西哥等等;PAL主要应用于中国,香港、中东地区和欧洲一带。
-
-
高清=High Definition=HD=纵向720线=720p (960x720,1280x720)
-
全高清=Full High Definition=FHD=纵向1080线=1080i/p(1440x1080,1920x1080)
院线电影级别:
以横向像素为准(与广播电视级别以纵向像素数不同。) 1K = 1024x540 2K = 2048x1080 4K = 4096x2160 8K = 8192x4320
对于有遮幅的宽屏电影,横向需维持该像素数,纵向像素可以减少。 目前宣传的4K电视、显示器等,依然是以纵向像素计数,而且比例依然是16:9。所以对于这些民用设备,4K=3840x2160,8K=7680x4320,略窄于院线所用实际分辨率。
电影分享网站/小组约定俗成标准: 高清=1280x720或者1920x1080。可用720p或者1080p代表。 由于电影本身可能比16:9比例更宽,故就算纵向不达720像素,只要横向达1280像素,通常仍被称为720p。所以形似1280x544这样的分辨率,也被算作720p。 同理1080p也可见1920x816等分辨率。
YouTube标准: 144p, 288p, 360p, 480p, 720p(HD), 1080p(HD), 1440p(HD), 2160p(4K), 4320p(8K) 基本上油管是遵循广播电视的标准去定义视频质量的。 没错油管已经支持8K了!丧病!链接:YouTube 上出现一部 8K 视频,但谁看得了啊?
X酷标准: 标清=448x336,512x288 (远不足480p) 高清=576x432,672x378 (前者不足480p标准) 超清=1104x622 (远不足720p,也不足iPhone5的1136x640) 1080p=1920x1080 (足了……仅仅是分辨率足了而已)
上一篇: live a live hd 2d
下一篇: 搞定!日语文本乱码问题的简易解决方案
推荐阅读
-
SlowFast 网络:计算机视觉视频理解的新范式。
-
VideoCLIP-XL:推进对视频 CLIP 长篇描述模型-3 方法的理解
-
计算机毕业设计 基于深度学习的短视频内容理解与推荐系统的设计与实现 Python+Django+Vue 前后端分离,附源代码 讲座 文档
-
音视频编解码-YUV采样格式中的YUV444,YUV422,YUV420理解(转)-YUV4:4:4
-
比较YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P和YUV444P:理解并解析YUV420P的不同之处
-
音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解
-
14-傅里叶变换的代码实现-一、numpy实现傅里叶变换和逆傅里叶变换 1.numpy实现傅里叶变换numpy.fft.fft2实现傅里叶变换,返回一个复数数组(complex ndarray),也就是频谱图像numpy.fft.fftshift将零频率分量移到频谱中心(将左上角的低频区域,移到中心位置) 20*np.log(np.abs(fshift))设置频谱的范围。可以理解为,之前通过傅里叶变换得到复数的数组,是不能通过图像的方法展示出来的,需要转换为灰度图像(映射到[0,255]区间)需要注意的是1> 傅里叶得到低频、高频信息,针对低频、高频处理能够实现不同的目的2> 傅里叶过程是可逆的,图像经过傅里叶变换、逆傅里叶变换后,能够恢复到原始图像3> 在频域对图像进行处理,在频域的处理会反映在逆变换图像上 # 将绘制的图显示在窗口 %matplotlib qt5 import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread(r"image\lena.bmp",cv2.IMREAD_GRAYSCALE) # 傅里叶变换 f = np.fft.fft2(img) # 移动中心位置 fshift = np.fft.fftshift(f) # 调整值范围 result = 20*np.log(np.abs(fshift)) plt.subplot(1,2,1) plt.imshow(img,cmap=plt.cm.gray) plt.title("original") plt.axis("off") plt.subplot(1,2,2) plt.imshow(result,cmap=plt.cm.gray) plt.title("result") plt.axis("off") plt.show 傅里叶变换的频谱图像: 2.numpy实现逆傅里叶变换numpy.fft.ifft2实现逆傅里叶变换,返回一个复数数组(complex ndarray)numpy.fft.ifftshiftfftshift函数的逆函数,将中心位置的低频,重新移到左上角iimg = np.abs(逆傅里叶变化结果)设置值的范围,映射到[0,255]区间 # 将绘制的图显示在窗口 %matplotlib qt5 import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread(r"image\boat.bmp",cv2.IMREAD_GRAYSCALE) # 傅里叶变换 f = np.fft.fft2(img) fshift = np.fft.fftshift(f) # 逆傅里叶变换 ishift = np.fft.ifftshift(fshift) iimg = np.fft.ifft2(ishift) iimg = np.abs(iimg) plt.subplot(1,2,1) plt.imshow(img,cmap=plt.cm.gray) plt.title("original") plt.axis("off") plt.subplot(1,2,2) plt.imshow(iimg,cmap=plt.cm.gray) plt.title("iimg") plt.axis("off") plt.show 将一副图像,进行傅里叶变换和逆傅里叶变换后,进行对比(一样的) 实例:通过numpy实现高通滤波,保留图像的边缘信息 获取图像的形状rows,cols = img.shape获取图像的中心点crow,ccol = int(rows/2),int(cols/2)将频谱图像的中心区域(低频区域)设置为0(黑色)fshift[crow-30:crow+30,ccol-30:ccol+30] = 0 # 将绘制的图显示在窗口 %matplotlib qt5 import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread(r"image\boat.bmp",cv2.IMREAD_GRAYSCALE) # 傅里叶变换 f = np.fft.fft2(img) fshift = np.fft.fftshift(f) # 高通滤波 rows,cols = img.shape crow,ccol = int(rows/2),int(cols/2) fshift[crow-30:crow+30,ccol-30:ccol+30] = 0 # 逆傅里叶变换 ishift = np.fft.ifftshift(fshift) iimg = np.fft.ifft2(ishift) iimg = np.abs(iimg) plt.subplot(1,2,1) plt.imshow(img,cmap=plt.cm.gray) plt.title("original") plt.axis("off") plt.subplot(1,2,2) plt.imshow(iimg,cmap=plt.cm.gray) plt.title("iimg") plt.axis("off") plt.show 使用numpy实现高通滤波的实验结果: 二、opencv实现傅里叶变换和逆傅里叶变换 1.opencv实现傅里叶变换 返回结果 = cv2.dft(原始图像,转换标识)1> 返回结果:是双通道的,第一个通道是结果的实数部分,第二个通道是结果的虚数部分2> 原始图像:输入图像要首先转换成np.float32(img)格式3> 转换标识:flags = cv2.DFT_COMPLEX_OUTPUT,输出一个复数阵列numpy.fft.fftshift将零频率分量移到频谱中心(将左上角的低频区域,移到中心位置)调整频谱的范围,将上面频谱图像的复数数组,转换为可以显示的灰度图像(映射到[0,255]区间)返回值 = 20*np.log(cv2.magnitude(参数1,参数2))1> 参数1:浮点型X坐标值,也就是实部2> 参数2:浮点型Y坐标值,也就是虚部 # 将绘制的图显示在窗口 %matplotlib qt5 import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread(r"image\lena.bmp",cv2.IMREAD_GRAYSCALE) # 傅里叶变换 dft = cv2.dft(np.float32(img),flags = cv2.DFT_COMPLEX_OUTPUT) # 移动中心位置 dftShift = np.fft.fftshift(dft) # 调整频谱的范围 result = 20*np.log(cv2.magnitude(dftShift[:,:,0],dftShift[:,:,1])) plt.subplot(1,2,1) plt.imshow(img,cmap=plt.cm.gray) plt.title("original") plt.axis("off") plt.subplot(1,2,2) plt.imshow(result,cmap=plt.cm.gray) plt.title("result") plt.axis("off") plt.show 傅里叶变换的频谱图像: 2.opencv实现逆傅里叶变换返回结果 = cv2.idft(原始数据)1> 返回结果:取决于原始数据的类型和大小2> 原始数据:实数或者复数均可numpy.fft.ifftshiftfftshift函数的逆函数,将中心位置的低频,重新移到左上角调整频谱的范围,映射到[0,255]区间返回值 = cv2.magnitude(参数1,参数2)1> 参数1:浮点型X坐标值,也就是实部2> 参数2:浮点型Y坐标值,也就是虚部 # 将绘制的图显示在窗口 %matplotlib qt5 import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread(r"image\lena.bmp",cv2.IMREAD_GRAYSCALE) # 傅里叶变换 dft = cv2.dft(np.float32(img),flags = cv2.DFT_COMPLEX_OUTPUT) dftShift = np.fft.fftshift(dft) # 逆傅里叶变换 ishift = np.fft.ifftshift(dftShift) iimg = cv2.idft(ishift) iimg = cv2.magnitude(iimg[:,:,0],iimg[:,:,1]) plt.subplot(1,2,1) plt.imshow(img,cmap=plt.cm.gray) plt.title("original") plt.axis("off") plt.subplot(1,2,2) plt.imshow(iimg,cmap=plt.cm.gray) plt.title("inverse") plt.axis("off") plt.show 将一副图像,进行傅里叶变换和逆傅里叶变换后,进行对比(一样的) 实例:通过opencv实现低通滤波,模糊一副图像
-
理解 C# 中的 Linq、where 和 FindAll:有何不同?
-
深入理解C++标准库(第2讲):OOP GP、内存管理、容器间的关系及Vector的深度探讨(视频16)
-
理解LAMP和LNMP架构的不同点,并知道如何选择适合你的服务器环境