您需要1080p视频图像吗?到达那里需要许多部件,包括昂贵的新镜头,相机,存储等。但是,如果您在路径中有H.264或H.265等压缩,则不会获得您支付的费用。原因如下。
高清录像机通常使用压缩来减小视频剪辑文件大小,以适应小型存储。如果您的相机(源)和录像机、存储或显示器(目标)相距超过 500 英尺,则可能会使用压缩来传输视频。实际上,压缩会损害源图像的许多方面。分辨率是另一种降级效果。
MPEG H.264 和 H.265 压缩编码器分析视频序列中的每个图像,以创建参考帧和差分帧,以满足系统所连接的传输或存储容量的比特率限制。所有框架基本上都分为不同大小的块的马赛克。块大小取决于每个镶嵌区域中影像的细节内容。参考系被划分为宏块。每个宏块由一系列图像样本组成 - 亮度(亮度)和色度(颜色) - 由相机使用正在使用的采样系统(例如4:2:2)提供。块大小为 8×8、16×16 和 32×32。H.265 编码器还可以合并大型低细节区域中相邻的宏块。该工具有助于H.265的50%压缩效率。编码器用于确定块大小以及块是否可以合并的标准是特定编码器的功能,不受任何标准的控制。这就是为什么人们可以看到符合H.264和H.265规范的编码器之间的图像质量差异的部分原因。
然而,图像被划分为宏块,每个块都通过离散余弦变换(DCT)。DCT基本上将宏观块的空间轮廓转换为二维(2D)频率阵列。左上角代表“DC” - 即具有一定亮度的无轮廓区域。右下角表示数组中可以表示的最高频率等值线。DCT 提供了一个系数,在应用此数组的每个元素来重建宏块的原始轮廓时,可以使用该系数。零值不使用 元素。系数可以是任何值,正负值,并且是DCT的输出。
在单维空间中,这种方法在概念上类似于如何将时域信号(波形)转换为频域。使用从方波的傅里叶变换(振幅和相位)得出的系数,可以将原型正弦波阵列相加以重建时域波形(图)。由于离散变换不是连续频谱,因此无论阵列的大小如何,重建中都内置了量化误差(所示的元素提供了256个元素,可用于重建8×8像素阵列的亮度轮廓)。
[图3|使用从方波的傅里叶变换导出的系数,可以将原型正弦波阵列相加以重建时域波形式。
颜色样品(铬和Cb)的处理方式相同。大多数摄像机可提供 4:2:2 采样图像。这样做的困难是图像样本是矩形的(两个亮度样本共享一个色度样本)而不是正方形。为了简化处理,大多数编码器会将传入的 4:2:2 采样转换为 4:2:0 采样,其中 4 个亮度样本共享一个色度样本。这样做时,会出现一些细节损失和颜色偏移。这在直接比较信号时可以观察到。从 4:2:2 转换为 4:2:0 采样可有效地将像素位深度从 20 位减少到 15 位。数字图像分辨率为三维、行数、每行像素数和位深度。虽然每行的像素数和行数保持不变,但位深度减少了,这已被证明可以通过限制动态范围来减少精细的图像细节。也就是说,高对比度区域将遭受最大的细节损失。
编码器(压缩器)还负责管理输出比特率,以确保视频和数据流可以可靠地传输到其最终目的地。一个工具是管理宏块大小。影像的区域(如天空)将没有太多的轮廓,因此 DCT 的许多系数将等于或接近于零。可以使这些区域越大,零系数就越多。长时间的零系数可以很好地压缩而不会丢失数据(熵编码阶段)。零系数越大,可以实现的熵压缩就越多。
门槛
编码器可用的另一个工具是调整值阈值,其中任何低于某个值的绝对幅度的 DCT 系数都设置为零。这里的策略是,解码反向DCT数组中具有小系数的元素将在生成的宏块重建轮廓中引入小误差。由于可用的传输比特率受到限制,编码器可以增加系数阈值,从而产生更多的零值,从而增加熵相位压缩比。
图 4 模拟了 8×8 宏块阵列(64 个元素)中图像系数的直方图。有些系数非常小。编码器可以根据数组系数的值调整阈值以消除数组的元素。这些元素是重建宏块轮廓的小贡献者。当然,随着此阈值的增加,源宏块轮廓与重建轮廓之间的误差也会增加。该效应类似于前面所示的方波的频率到时域重建。也就是说,如果频率从总和中下降,则波纹出现在正方形的顶部,并且上升和下降斜率偏离原始输入。
[图4|8x8 宏块数组中图像系数的直方图。
轮廓因宏块而异,因此效果随轮廓而变化。在具有复杂等值线的宏块中,采样的有效带宽通常会降低(零系数)。从视觉上看,这可以将宏块中的精细细节转换为模糊。但是,阈值设置到什么级别取决于传送视频和数据流所需的总比特率。因此,编码器将根据DCT阶段后图像流的聚合比特率来设置阈值。在任何宏块中,阈值可以消除很少(如果有的话)数组点;在其他情况下,它可能会消除许多。在图5中的图像序列中,中间图像是最左侧图像的重建。在此示例中,请注意背景中的乐谱。在这种情况下,阈值消除了宏块阵列中足够多的高频分量,以支持传输比特率,即乐谱上的细节被抹去(比较区域用红色圈出)。压缩完成后,此信息将永久丢失。
随着宏块大小的增加,重新创建乐谱的轮廓的复杂性也会增加。然而,与打印它的纸张的直流水平和阴影相比,这些元素产生的DCT系数更小。防止这种信息丢失的唯一方法是减小目标距离处宏块的大小,以降低轮廓的复杂性。这可以通过减小宏块本身的大小(32×32到16×16或8×8)或增加放大倍率来实现。增加放大倍率可以减小宏块在图像中覆盖的目标区域。
表示 64 个原始视频像素的 8×8 数组被替换为按阈值滤波的 DCT 系数。MPEG标准定义了如何将这些信息传达给解码器。解码器现在只有要执行的滤波数据,并反转DCT来重新创建像素阵列轮廓。解码后的图像是这些重新创建的轮廓(宏块)缝合在一起的马赛克。在这里,可以将算法应用于解码的马赛克以隐藏接缝。该算法没有标准化,通常是解码器供应商与主观图像质量相关的差异化因素。
在图 5 中,从左到右是原始图像,从渐变宏块的马赛克重新创建的解码图像,以及去块后的相同马赛克,其中马赛克元素的边缘被弄脏。
除了丢失的细节之外,还会对宏块周围的区域进行着色以隐藏边界。此过程进一步修改原始图像数据。当作为单个图像捕获时,修改是永久性的。污迹本身可能因解码器而异,并导致站点之间的精细细节差异,图像捕获与图像捕获。
您如何将所有这些与分辨率丢失联系起来?当反向DCT阵列的高频元件被移除时,边缘细节变得模糊。模糊性可以被认为是随着高频元件被移除以满足比特率限制而逐渐散焦镜头。
但是,哪些细节受到损害?它重要吗?答案是规模问题。在 1080×1920 图像中,我们知道 16×16 宏块像素在图像帧上占的百分比,但更重要的是宏块轮廓的复杂性。复杂性在很大程度上取决于目标范围内宏块的图像区域中的内容。
为了说明比例影响,图6模拟了目标处的微距区域,镜头变焦位置会影响微距区域中的细节。左侧表示任意镜头设置。右图表示以较窄的视场 (FOV) 查看同一区域。如您所见,左图中突出显示的宏块(红色)的复杂性远远大于FOV较小的同一宏块的复杂性。在左图中,阈值的增加将冲刷掉男人眼睛周围的细节。在右图中,同一宏块的轮廓不太复杂。在DCT完成后,它将产生较少的有效系数,因此在解码过程中保留了大部分细节。
[图6|镜头变焦位置会影响微距区域的细节。
什么是分辨率损失?答案很复杂:它依赖于图像,宏块缩放依赖于比特率。影响哪些细节还取决于宏块中的内容。话虽如此,人们可以将其与宏块大小以及可用比特率和存储容量相关联,可用比特率越低,宏块区域必须在目标图像处表示越小,以保留来自源的原始像素提供的相同或几乎相同的细节。
需要更多的变焦和更好的光学元件来提供解码器侧具有相似细节的图像,这会导致在此过程中图像分辨率损失。分辨率损失是不可恢复的,因为由编码侧的DCT创建的2D元素在编码过程中永远丢失,这些元素被归零以满足比特率限制。
假设一个1080p相机被用来查看500英尺外的物体。如果将 1000 mm 镜头与 25 mm 传感器一起使用,则 FOV 约为 1.5 度。目标范围内覆盖的水平距离约为160英寸(13英尺)。此范围内的每个像素将覆盖 0.08 英寸或大约 0.007 英寸2.8×8 宏块覆盖约 0.43 英寸2.0.007英寸图像的复杂程度是多少2与 0.43 英寸相比2图像区域?显然,宏块覆盖的区域越小,细节损失就越低。相反,为了补偿压缩编码器的细节损失,比特率越低,所需的放大倍率就越大。在指定视频传送路径中包含压缩的系统时,要求必须考虑这些效果。如果魔鬼在细节中,那么细节就很重要。全分辨率单帧照片是分析或证据保留的一个组成部分。随着视频记录仪器(VRI)的最新创新,现在可以捕获未压缩的HD-SDI视频,零色移,量化误差或DCT系数损失。
审核编辑:郭婷
-
显示器
+关注
关注
21文章
4924浏览量
139724 -
编码器
+关注
关注
45文章
3572浏览量
133963
发布评论请先 登录
相关推荐
评论