Video_AVI_Packet(2)

博主聲明:內容來自網絡,僅供參考,僅適用于淺了解,如有錯誤,自行甄別,由此引起的后果概不負責

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或…