博主声明:内容来自网络,仅供参考,仅适用于浅了解,如有错误,自行甄别,由此引起的后果概不负责

Video_AVI_Packet(2)

  • 一、Video Picture Aspect Ratio 与 Active Format Aspect Ratio
    • 1. 基础定义
    • 2. 技术细节对比
    • 3. 三者关系图示
    • 4. 实际案例解析
    • 5. 常见问题
    • 6. 行业应用规范
    • 总结
  • 二、 Video RGB Quantization Range(RGB量化范围)
    • 1. 基础概念
    • 2. 技术细节
    • 3. 实际影响
    • 4. 行业规范
    • 5. 常见问题

一、Video Picture Aspect Ratio 与 Active Format Aspect Ratio

在视频处理中,Picture Aspect Ratio (PAR)Active Format Aspect Ratio (AFAR) 是两个关键但易混淆的概念,它们共同决定了视频最终显示的宽高比。以下是它们的对比解析:


1. 基础定义

术语英文全称中文名作用
Picture Aspect Ratio (PAR)图像宽高比像素宽高比定义单个像素的物理形状(宽:高)
Active Format Aspect Ratio (AFAR)有效格式宽高比活动画面宽高比定义视频信号中实际有效图像区域的宽高比(排除黑边/过扫描区域)
Display Aspect Ratio (DAR)显示宽高比最终显示宽高比由PAR和分辨率计算得出的实际观看比例(DAR = 水平像素数 × PAR / 垂直像素数)

2. 技术细节对比

(1) Picture Aspect Ratio (PAR)

  • 定义:单个像素的宽度与高度之比
    • 方形像素(Square Pixel):PAR=1:1(如1080p视频)
    • 非方形像素:PAR≠1:1(如DVD的720×480 NTSC,PAR=8:9)
  • 计算公式
    PAR = \frac{DAR \times 垂直分辨率}{水平分辨率}
    
  • 常见场景
    • 现代数字视频:通常PAR=1:1(如1920×1080)
    • 传统标清视频:PAR≠1:1(需校正以避免画面变形)

(2) Active Format Aspect Ratio (AFAR)

  • 定义:视频信号中有效图像区域的宽高比(排除黑边或冗余信息)
  • 编码方式
    • 通过 AFD(Active Format Description) 元数据传递(如HDMI的AVI InfoFrame)
    • 常见值:16:94:32.35:1
  • 典型应用
    • 电影宽银幕内容(2.35:1)在16:9信号中的实际有效区域
    • 广播电视避免台标/字幕被裁剪

3. 三者关系图示

┌───────────────────────────────────────────┐
│              视频文件/信号                │
│  ┌─────────────────────────────────────┐  │
│  │         Active Format (AFAR)        │  │
│  │  ┌───────────────────────────────┐  │  │
│  │  │  Picture (PAR)                │  │  │
│  │  │  [像素阵列]                    │  │  │
│  │  └───────────────────────────────┘  │  │
│  └─────────────────────────────────────┘  │
└───────────────────────────────────────────┘
最终显示比例(DAR)= AFAR范围内像素的PAR综合结果

4. 实际案例解析

案例1:DVD视频(NTSC 720×480)

  • 存储分辨率:720×480(非方形像素)
  • PAR:8:9(需拉伸修正)
  • AFAR
    • 全屏内容:16:9(实际DAR=16:9)
    • 宽银幕电影:2.35:1(带黑边,DAR=2.35:1)
  • DAR计算
    16:9 = \frac{720 \times 8/9}{480} \quad \text{(全屏)}
    

案例2:4K超宽电影(3840×2160容器)

  • 存储分辨率:3840×2160(方形像素,PAR=1:1)
  • AFAR:2.35:1(有效图像区域≈3840×1634,上下加黑边)
  • DAR:2.35:1(显示器自动隐藏黑边)

5. 常见问题

Q1: 为什么需要PAR和AFAR两个概念?

  • PAR 解决像素形状问题(防止拉伸变形)
  • AFAR 解决有效内容界定问题(防止错误裁剪)

Q2: 如何检测视频的PAR和AFAR?

  • 工具
    • MediaInfo:查看编码参数
    • FFmpeg命令:
      ffprobe -v error -show_streams input.mp4 | grep aspect_ratio
      
  • AFAR元数据:需专业分析工具(如HDR10+ Analyzer)

Q3: 错误设置的后果?

  • PAR错误:画面变形(如人脸被拉宽)
  • AFAR错误:内容被裁剪或显示多余黑边

6. 行业应用规范

标准PAR要求AFAR处理
广播电视BT.601/BT.709规定强制AFD元数据(防过扫描)
流媒体通常1:1靠容器元数据标记(如MP4的paspbox)
游戏强制方形像素引擎直接控制输出

总结

  • PAR:像素层面的宽高比,解决"单个像素是否方形"问题
  • AFAR:信号层面的有效区域,解决"实际内容边界"问题
  • DAR:最终观众看到的比例,由前两者共同决定
  • 关键口诀

    “PAR管像素形状,AFAR管画面范围,DAR管最终显示”

二、 Video RGB Quantization Range(RGB量化范围)

RGB量化范围定义了视频信号中RGB分量(红、绿、蓝)的数值如何映射到实际的亮度/色彩输出,是保证图像准确还原的关键参数。以下是深度解析:


1. 基础概念

(1) 什么是量化范围?

  • 将连续的模拟信号转换为离散数字值时,允许的数值范围
  • 在8-bit系统中:
    • Full Range(全范围):0-255
    • Limited Range(限制范围):16-235(亮度Y),16-240(色度Cb/Cr)

(2) 两种主要标准

类型数值范围(8-bit)应用场景黑电平白电平
Full Range0-255PC显示器、游戏、图像处理0=纯黑255=纯白
Limited Range16-235(Y)
16-240(CbCr)
广播电视、蓝光、流媒体16=黑235=白

2. 技术细节

(1) Limited Range的由来

  • 广播历史原因:模拟信号需要预留空间给同步头和过冲
  • 安全阈值:防止信号处理时的截断误差(headroom/footroom)
  • 现代延续:即使数字信号仍保持兼容性

(2) 位深扩展

  • 10-bit系统中:
    • Full Range:0-1023
    • Limited Range:64-940(Y),64-960(CbCr)

3. 实际影响

(1) 错误匹配的后果

发送端接收端现象
Full RangeLimited Range画面发灰(黑不纯、白过曝)
Limited RangeFull Range对比度拉高(暗部死黑、亮部细节丢失)

(2) 典型场景案例

  • 游戏主机接电视
    • PS5/Xbox需设置为"Limited Range"匹配电视标准
    • 若误设"Full Range"会导致暗部细节丢失
  • PC接显示器
    • 通常使用Full Range(0-255)
    • NVIDIA控制面板中的"输出动态范围"设置

4. 行业规范

(1) 标准制定组织

标准量化范围适用领域
ITU-R BT.601Limited Range标清电视(SD)
ITU-R BT.709Limited Range高清电视(HD)
sRGBFull RangePC显示、网络图像
HDMI 2.1可协商(EDID通信)自动匹配最佳范围

(2) 元数据标记

  • HDMI AVI InfoFrame:包含Quantization Range字段
  • HEVC/H.264 VUIvideo_full_range_flag参数
    • 0=Limited Range, 1=Full Range

5. 常见问题

Q1: 为什么Limited Range的黑色从16开始?

  • 预留0-15给同步信号和超黑(Super Black)区域
  • 确保模拟-数字转换时的安全裕度

Q2: HDR视频是否还用Limited Range?

  • HDR10/Dolby Vision:仍使用Limited Range(但白电平扩展到1000+尼特)
  • PQ曲线:实际亮度由元数据动态映射

Q3: 如何强制转换范围?

  • FFmpeg示例(Full→Limited):
    ffmpeg -i input.mp4 -vf "scale=out_range=limited" -c:a copy output.mp4
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92952.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92952.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/92952.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

八月补丁星期二:微软修复 111 个漏洞

微软将在2025 年 8 月补丁星期二修复 111 个漏洞,这一数量与近期平均水平大致相同。 与上个月的情况类似,微软知道今天发布的漏洞中只有一个已被公开披露,但声称没有证据表明存在野外利用。同样,截至发布时,唯一的补丁…

《C++进阶之继承多态》【普通类/模板类的继承 + 父类子类的转换 + 继承的作用域 + 子类的默认成员函数】

【普通类/模板类的继承 父类&子类的转换 继承的作用域 子类的默认构造函数】目录前言:------------------------一、继承的定义和使用1. 什么使继承?2. 为什么要引入继承?3. 怎么使用继承?① 父类(基类&#xf…

Ubuntu22.04安装OBS Studio

OBS官网的最新的虽然支持Ubuntu系统,但是只支持最新的24.2版本的,而我的电脑上的Ubuntu的版本是22.04,所以在网上寻求解决办法,看到了这一片博客,作为参考来实现ubuntu22.04安装OBS,这里提示一下&#xff0…

Ansible 基本使用

Ansible 清单 静态主机清单 主机清单支持多种格式,例如ini、yaml、脚本等。 本次课程使用 ini 格式。 #创建主机清单[lykcontroller ~ 13:36:01]# vim inventory#vim添加controllernode1node2node3node4​#测试连接单个服务器[lykcontroller ~ 14:08:18]$ ansibl…

网络资源模板--基于Android Studio 实现的九寨沟App

目录 一、测试环境说明 二、项目简介 三、项目演示 四、部设计详情(部分) 首页 购票页面 五、项目源码 一、测试环境说明 电脑环境 Windows 11 编写语言 JAVA 开发软件 Android Studio (2020) 开发软件只要大于等于测试版本即可(近几年官网直接下载也…

系统架构设计师备考之架构设计实践知识

1.信息系统架构设计理论与实践1.1.基本概念信息系统架构定义目前关于信息系统架构较为权威的定义有: (1)信息系统架构是系统的结构,由软件元素、元素外部可见属性和元素间关系组成。 (2)信息系统架构是软件…

【IgH EtherCAT】如何利用 RTAI 提供的实时任务和调度机制来构建一个高精度、确定性的工业控制应用

SVG图展示了系统的分层架构:RTAI实时层:包含RT_TASK、信号量和定时器EtherCAT Master层:主站、域、从站配置和PDO映射EtherCAT网络层:与实际硬件设备(EL3162模拟输入、EL2004数字输出)通信关键特点&#xf…

7款热门智能电视文件管理器横向评测

7款智能电视文件管理器横向评测 在智能电视和电视盒子日益普及的今天,一款好用的文件管理器能让您的数字生活更加便捷。本文为您评测了7款广受欢迎的TV版文件管理器,助您找到最适合自己的工具。 1. ES文件浏览器TV版 ES文件浏览器是一款广受欢迎的多功能…

Python 类元编程(导入时和运行时比较)

导入时和运行时比较 为了正确地做元编程,你必须知道 Python 解释器什么时候计算各个代码 块。Python 程序员会区分“导入时”和“运行时”,不过这两个术语没有严 格的定义,而且二者之间存在着灰色地带。在导入时,解释器会从上到 下…

[git diff] 对比检查变更 | 提交前复审 | 版本回退

git diff git diff 是 Git 版本控制系统中用于比较文件差异的核心命令,可以显示工作目录、暂存区(Index)和仓库历史之间的变化。 通过对比不同版本或状态的文件内容,帮助开发者理解代码变更。 比较工作目录与暂存区 运行以下命令查…

【数据可视化-85】海底捞门店数据分析与可视化:Python + pyecharts打造炫酷暗黑主题大屏

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

物联网之小白调试网关设备

小伙伴们,你们好呀!我是老寇!跟我一起学习调试网关设备 相信搞过物联网的朋友,对网关设备非常熟悉,本人以小白的视角,手把手教你调试网关设备! 工作中使用的是Ubuntu操作系统,因此&a…

Node.js特训专栏-实战进阶:22. Docker容器化部署

🔥 欢迎来到 Node.js 实战专栏!在这里,每一行代码都是解锁高性能应用的钥匙,让我们一起开启 Node.js 的奇妙开发之旅! Node.js 特训专栏主页 专栏内容规划详情 我将从Docker容器化部署的基础概念入手,介绍Node.js应用容器化的步骤,包括创建Dockerfile、构建镜像、运行…

eclipse嵌入式编译速度慢

eclipse 嵌入式 编译 速度慢 同一个项目,eclipse编译速度越来越慢,一开始几秒钟编译完,后面要10分钟。只需要将以下两个程序卸载重新安装即可。

编译Android版本可用的高版本iproute2

背景: Android自带的iproute2 太老,很多指令格式不支持 直接基于Android源码,替换源码下iproute2 代码编译新版,报错太多,于是改用Android NDK工具编译 环境: android-ndk-r25c-linux.zip 下载链接&am…

JavaScript的fetch函数的用法

基本语法fetch函数用于发起网络请求,返回一个Promise对象。基本语法如下:fetch(url, options).then(response > response.json()).then(data > console.log(data)).catch(error > console.error(Error:, error));GET请求发起一个简单的GET请求&…

Json和XML文件相互转化

目录 一.XML转Json文件 示例:将XML转换为JSON 依赖准备 Java代码示例 代码详细讲解 二.Json转XML文件 示例:将JSON转换为XML 依赖准备 Java代码示例 代码详细讲解 关键代码解析 将JSON转换为XML 写入文件 示例输入与输出 三.具有相同功能的…

Python科学计算与可视化领域工具TVTK、Mayavi、Mlab、Traits(附视频教程)

概述 TVTK、Mayavi、Mlab 和 Traits 都是 Python 科学计算与可视化领域中紧密相关的工具,它们常被结合使用来处理和展示三维数据。视频教程:https://pan.quark.cn/s/f73e875225ca 1. TVTK TVTK(Traits-based Visualization Toolkit&#xff0…

SQL INSERT INTO SELECT 详解

SQL INSERT INTO SELECT 详解 引言 SQL(Structured Query Language)是数据库操作的基础语言,广泛用于各种关系型数据库管理系统中。在SQL中,INSERT INTO SELECT 是一个强大的功能,它允许用户从一个表中选取数据,并直接将这些数据插入到另一个表中。本文将详细讲解 SQL …

python速成学习路线

第一部分:核心基础(语法与工具) 目标:掌握 Python 的基本语法规则、数据处理方式和开发工具 核心内容: 环境搭建 安装Python 3.x版本(推荐3.10)配置开发工具(如PyCharm、VS Code或…