1. 程式人生 > >Mpeg系列——Mpeg 1和Mpeg 2 Mpeg系列——Mpeg 4

Mpeg系列——Mpeg 1和Mpeg 2 Mpeg系列——Mpeg 4

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

1. 常用的基本知識

基本概念

編解碼

  編解碼器(codec)指的是一個能夠對一個訊號或者一個數據流進行變換的裝置或者程式。這裡指的變換既包括將訊號或者資料流進行編碼(通常是為了傳輸、儲存或者加密)或者提取得到一個編碼流的操作,也包括為了觀察或者處理從這個編碼流中恢復適合觀察或操作的形式的操作。編解碼器經常用在視訊會議和流媒體等應用中。

容器

  很多多媒體資料流需要同時包含音訊資料和視訊資料,這時通常會加入一些用於音訊和視訊資料同步的元資料,例如字幕。這三種資料流可能會被不同的程式,程序或者硬體處理,但是當它們傳輸或者儲存的時候,這三種資料通常是被封裝在一起的。通常這種封裝是通過視訊檔案格式來實現的,例如常見的*.mpg, *.avi, *.mov, *.mp4, *.rm, *.ogg or *.tta. 這些格式中有些只能使用某些編解碼器,而更多可以以容器的方式使用各種編解碼器。

  FourCC全稱Four-Character Codes,是由4個字元(4 bytes)組成,是一種獨立標示視訊資料流格式的四位元組,在wav、avi檔案之中會有一段FourCC來描述這個AVI檔案,是利用何種codec來編碼的。因此wav、avi大量存在等於“IDP3”的FourCC。

  視訊是現在電腦中多媒體系統中的重要一環。為了適應儲存視訊的需要,人們設定了不同的視訊檔案格式來把視訊和音訊放在一個檔案中,以方便同時回放。視訊檔實際上都是一個容器裡面 包裹著不同的軌道,使用的容器的格式關係到視訊檔的可擴充套件性。

引數介紹

取樣率

  取樣率(也稱為取樣速度或者取樣頻率)定義了每秒從連續訊號中提取並組成離散訊號的取樣個數,它用赫茲(Hz)來表示。取樣頻率的倒數叫作取樣週期或採樣時間,它是取樣之間的時間間隔。注意不要將取樣率與位元率(bit rate,亦稱“位速率”)相混淆。

  取樣定理表明取樣頻率必須大於被取樣訊號頻寬的兩倍,另外一種等同的說法是奈奎斯特頻率必須大於被取樣訊號的頻寬。如果訊號的頻寬是 100Hz,那麼為了避免混疊現象取樣頻率必須大於 200Hz。換句話說就是取樣頻率必須至少是訊號中最大頻率分量頻率的兩倍,否則就不能從訊號取樣中恢復原始訊號。

  對於語音取樣:

  • 8,000 Hz - 電話所用取樣率, 對於人的說話已經足夠
  • 11,025 Hz
  • 22,050 Hz - 無線電廣播所用取樣率
  • 32,000 Hz - miniDV 數碼視訊 camcorder、DAT (LP mode)所用取樣率
  • 44,100 Hz - 音訊 CD, 也常用於 MPEG-1 音訊(VCD, SVCD, MP3)所用取樣率
  • 47,250 Hz - Nippon Columbia (Denon)開發的世界上第一個商用 PCM 錄音機所用取樣率
  • 48,000 Hz - miniDV、數字電視、DVD、DAT、電影和專業音訊所用的數字聲音所用取樣率
  • 50,000 Hz - 二十世紀七十年代後期出現的 3M 和 Soundstream 開發的第一款商用數字錄音機所用取樣率
  • 50,400 Hz - 三菱 X-80 數字錄音機所用所用取樣率
  • 96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音軌、Blu-ray Disc(藍光碟)音軌、和 HD-DVD (高清晰度 DVD)音軌所用所用取樣率
  • 2.8224 MHz - SACD、 索尼 和 飛利浦 聯合開發的稱為 Direct Stream Digital 的 1 位 sigma-delta modulation 過程所用取樣率。

  在模擬視訊中,取樣率定義為幀頻和場頻,而不是概念上的畫素時鐘。影象取樣頻率是感測器積分週期的迴圈速度。由於積分週期遠遠小於重複所需時間,取樣頻率可能與取樣時間的倒數不同。

  • 50 Hz - PAL  視訊
  • 60 / 1.001 Hz - NTSC 視訊

  當模擬視訊轉換為數字視訊的時候,出現另外一種不同的取樣過程,這次是使用畫素頻率。一些常見的畫素取樣率有:

  • 13.5 MHz - CCIR 601、D1 video

解析度

  解析度,泛指量測或顯示系統對細節的分辨能力。此概念可以用時間、空間等領域的量測。日常用語中之解析度多用於影象的清晰度。解析度越高代表影象品質越好,越能表現出更多的細節。但相對的,因為紀錄的資訊越多,檔案也就會越大。目前個人電腦裡的影象,可以使用影象處理軟體,調整影象的大小、編修照片等。例如 photoshop,或是photoimpact等軟體。

 影象解析度

  用以描述影象細節分辨能力,同樣適用於數字影象、膠捲影象、及其他型別影象。常用'線每毫米'、 '線每英吋'等來衡量。通常,“解析度”被表示成每一個方向上的畫素數量,比如640x480等。而在某些情況下,它也可以同時表示成“每英吋畫素”(pixels per inch,ppi)以及圖形的長度和寬度。比如72ppi,和8x6英吋。

 視訊解析度

各種電視規格解析度比較視訊的畫面大小稱為“解析度”。數位視訊以畫素為度量單位,而類比視訊以水平掃瞄線數量為度量單位。標清電視訊號解析度為 720/704/640x480i60(NTSC)或768/720x576i50(PAL/SECAM)。新的高清電視(HDTV)解析度可達 1920x1080p60,即每條水平掃瞄線有1920個畫素,每個畫面有1080條掃瞄線,以每秒鐘60張畫面的速度播放。

畫面更新率fps

  Frame rate中文常譯為“畫面更新率”或“幀率”,是指視訊格式每秒鐘播放的靜態畫面數量。典型的畫面更新率由早期的每秒6或8張(frame per second,簡稱fps),至現今的每秒120張不等。PAL (歐洲,亞洲,澳洲等地的電視廣播格式) 與 SECAM (法國,俄國,部分非洲等地的電視廣播格式) 規定其更新率為25fps,而NTSC (美國,加拿大,日本等地的電視廣播格式) 則規定其更新率為29.97 fps。電影膠捲則是以稍慢的24fps在拍攝,這使得各國電視廣播在播映電影時需要一些複雜的轉換手續(參考Telecine轉換)。要達成最基本的視覺暫留效果大約需要10fps的速度。

壓縮方法

有失真壓縮和無失真壓縮

  在視訊壓縮中有損(Lossy )和無損(Lossless)的概念與靜態影象中基本類似。無失真壓縮也即壓縮前和解壓縮後的資料完全一致。多數的無失真壓縮都採用RLE行程編碼演算法。有失真壓縮意味著解壓縮後的資料與壓縮前的資料不一致。在壓縮的過程中要丟失一些人眼和人耳所不敏感的影象或音訊資訊,而且丟失的資訊不可恢復。幾乎所有高壓縮的演算法都採用有失真壓縮,這樣才能達到低資料率的目標。丟失的資料率與壓縮比有關,壓縮比越小,丟失的資料越多,解壓縮後的效果一般越差。此外,某些有失真壓縮演算法採用多次重複壓縮的方式,這樣還會引起額外的資料丟失。

  • 無損格式,例如WAV,PCM,TTA,FLAC,AU,APE,TAK,WavPack(WV)
  • 有損格式,例如MP3,Windows Media Audio(WMA),Ogg Vorbis(OGG),AAC

幀內壓縮和幀間壓縮

  幀內(Intraframe)壓縮也稱為空間壓縮(Spatial compression)。當壓縮一幀影象時,僅考慮本幀的資料而不考慮相鄰幀之間的冗餘資訊,這實際上與靜態影象壓縮類似。幀內一般採用有失真壓縮演算法,由於幀內壓縮時各個幀之間沒有相互關係,所以壓縮後的視訊資料仍可以以幀為單位進行編輯。幀內壓縮一般達不到很高的壓縮。

  採用幀間(Interframe)壓縮是基於許多視訊或動畫的連續前後兩幀具有很大的相關性,或者說前後兩幀資訊變化很小的特點。也即連續的視訊其相鄰幀之間具有冗餘資訊,根據這一特性,壓縮相鄰幀之間的冗餘量就可以進一步提高壓縮量,減小壓縮比。幀間壓縮也稱為時間壓縮(Temporalcompression),它通過比較時間軸上不同幀之間的資料進行壓縮。幀間壓縮一般是無損的。幀差值(Frame differencing)演算法是一種典型的時間壓縮法,它通過比較本幀與相鄰幀之間的差異,僅記錄本幀與其相鄰幀的差值,這樣可以大大減少資料量。

對稱編碼和不對稱編碼

  對稱性(symmetric)是壓縮編碼的一個關鍵特徵。對稱意味著壓縮和解壓縮佔用相同的計算處理能力和時間,對稱演算法適合於實時壓縮和傳送視訊,如視訊會議應用就以採用對稱的壓縮編碼演算法為好。而在電子出版和其它多媒體應用中,一般是把視訊預先壓縮處理好,爾後再播放,因此可以採用不對稱(asymmetric)編碼。不對稱或非對稱意味著壓縮時需要花費大量的處理能力和時間,而解壓縮時則能較好地實時回放,也即以不同的速度進行壓縮和解壓縮。一般地說,壓縮一段視訊的時間比回放(解壓縮)該視訊的時間要多得多。例如,壓縮一段三分鐘的視訊片斷可能需要10多分鐘的時間,而該片斷實時回放時間只有三分鐘。


2. 常用的音視訊編解碼方式

視訊編碼標準發展

年份

標準

制定組織

解除版權保護
(DRM-free)

主要應用

1984

H.120

ITU-T

 

1990

H.261

ITU-T

視訊會議視訊通話

1993

MPEG-1 第二部份

ISOIEC

影音光碟(VCD

1995

H.262/MPEG-2 第二部份

ISOIECITU-T

DVD影碟DVD-Video)、藍光Blu-Ray)影碟、數位視訊廣播(DVB)、SVCD

1996

H.263[6]

ITU-T

 

視訊會議視訊通話3G手機視訊(3GP

1999

MPEG-4 第二部份

ISOIEC

 

2003

H.264/MPEG-4 AVC[1]

ISOIECITU-T

藍光Blu-Ray)影碟、數位視訊廣播(DVB)、iPod視訊、高畫質DVDHD DVD

常見的編解碼見下表,在以後會分類論述:

視訊codec

ISO/IEC

MJPEG ·Motion JPEG 2000 ·MPEG-1 ·MPEG-2 (Part 2) ·MPEG-4 (Part 2/ASP ·Part 10/AVC) ·HVC

ITU-T

H.120 ·H.261 ·H.262 ·H.263 ·H.264 · H.265

其它

AMV ·AVS ·Bink ·CineForm ·Cinepak ·Dirac ·DV · Indeo · Microsoft Video 1 · OMS Video · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker ·Sorenson Video & Sorenson Spark · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · WMV

音訊codec

ISO/IECMPEG

MPEG-1 Layer III (MP3) ·MPEG-1 Layer II ·MPEG-1 Layer I · AAC ·HE-AAC ·MPEG-4 ALS · MPEG-4 SLS · MPEG-4 DST

ITU-T

G.711 ·G.718 ·G.719 · G.722 · G.722.1 · G.722.2 · G.723 · G.723.1· G.726 · G.728 · G.729 · G.729.1

其它

AC-3 ·AMR ·AMR-WB · AMR-WB+ · Apple Lossless · ATRAC · DRA · DTS · FLAC ·GSM-HR ·GSM-FR ·GSM-EFR ·iLBC · Monkey's Audio · TTA (True Audio) · MT9 · μ-law · Musepack · Nellymoser · OptimFROG · OSQ  · RealAudio · RTAudio  · SD2  · SHN · SILK · Siren · Speex · TwinVQ · Vorbis · WavPack · WMA

影象壓縮

ISO/IEC/ITU-T

JPEG ·JPEG 2000 ·JPEG XR · lossless JPEG · JBIG · JBIG2 · PNG · WBMP

Others

APNG ·BMP ·DjVu ·EXR ·GIF · ICER · ILBM · MNG · PCX · PGF · TGA · TIFF

媒體容器

通用

3GP ·ASF ·AVI · Bink · BXF · DMF · DPX · EVO · FLV · GXF · M2TS · Matroska · MPEG-PS · MPEG-TS · MP4 · MXF  · Ogg · QuickTime  · RealMedia ·RIFF ·Smacker · VOB

只用於音訊

AIFF ·AU ·WAV

 

上面的表格,檢視某個具體的codec,可以在中文的wiki中查詢,但是英文的wiki諮詢更為豐富,見下表

 

Multimediacompression formats
Video compression
ISO/ IEC MJPEG · Motion JPEG 2000 · MPEG-1 · MPEG-2 ( Part 2) · MPEG-4 ( Part 2/ASP · Part 10/AVC) · HEVC
ITU-T H.120 · H.261 · H.262 · H.263 · H.264 · HEVC
Others AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · Microsoft Video 1 · OMS Video · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker · Sorenson Video & Sorenson Spark · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · WMV
Audio compression
ISO/ IEC MPEG-1 Layer III (MP3) · MPEG-1 Layer II · MPEG-1 Layer I · AAC · HE-AAC · MPEG-4 ALS · MPEG-4 SLS · MPEG-4 DST · MPEG-4 HVXC · MPEG-4 CELP
ITU-T G.711 · G.718 · G.719 · G.722 · G.722.1 · G.722.2 · G.723 · G.723.1 · G.726 · G.728 · G.729 · G.729.1
Others AC-3 · AMR · AMR-WB · AMR-WB+ · Apple Lossless · ATRAC · DRA · DTS · FLAC · GSM-HR · GSM-FR · GSM-EFR · iLBC · Monkey's Audio · TTA (True Audio) · MT9 · μ-law · Musepack · Nellymoser · OptimFROG · OSQ  · RealAudio · RTAudio  · SD2  · SHN · SILK · Siren · Speex · TwinVQ · Vorbis · WavPack · WMA
Image compression
ISO/ IEC/ ITU-T JPEG · JPEG 2000 · JPEG XR · lossless JPEG · JBIG · JBIG2 · PNG · WBMP
Others APNG · BMP · DjVu · EXR · GIF · ICER · ILBM · MNG · PCX · PGF · TGA · QTVR · TIFF
Media containers
ISO/IEC MPEG-PS · MPEG-TS · MPEG-4 Part 12/ JPEG 2000 Part 12 · MPEG-4 Part 14
ITU-T H.222.0
Others 3GP and 3G2 · ASF · AVI · Bink · DivX Media Format · DPX · EVO ·

相關推薦

ApiResponse 在 Swagger 1 Swagger 2中的不同

bootstra component tools failed fail handle 次數 相關 超過 在1中隨意寫code , 在 2中 會提示 com.google.common.util.concurrent.UncheckedExecutionExcep

【5】C++進階系列(陣列指標2

1、實驗 實驗1:3 x 3矩陣的轉置 #include<iostream> using namespace std; void swap(int &a, int &b) { int temp = a; a = b; b = temp;

實驗1實驗2

實驗1 C語言程式設計初步 一、實驗目的和要求 (1)熟悉Visual C++6.0開發環境或CodeBlocks開發環境。 (2)掌握C語言上機步驟,瞭解執行一個C程式的方法。 (3)理解C語言程式的結構。 (4)掌握C語言程式的書寫格式。 二、實驗內容和步驟 1.分析下列程式的執行結

char(1)char(2)

問題很簡單,頁面寫成這樣 <table id="EducationTable">         <thead>             <tr>                  <th data-radio="true">

使用本地庫(Local Repository)安裝Ambari-2.4.1HDP-2.5.0

參考地址:http://blog.csdn.net/strongyoung88/article/details/53149538 1、下載壓縮包 2、設定本地庫 在設定本地庫之前,我們先需要完成一些準備工作,如下: 選擇一臺機器作為本地庫的

Qt for Linux:樹莓派3配置Qt開發環境(Qt 5.9.1 OpenCV 2.4.13)

關於樹莓派 我用的是 樹莓派樹莓派3代B型 Raspberry Pi Model 3 B 我拿來是做監控視訊採集的,所以會用到 Qt 和 OpenCV 開發上,除了視訊採集和視訊檔案生成用的OpenCV,其他全部Qt 本篇文章只涉及樹莓派的配置,不涉及具

solr-5.4.1 mmseg4j-2.3.0版本的配置

配置solr伺服器   1.登入solr的官方網站下載最新版本,目前是5.5.0。http://lucene.apache.org/solr/downloads.html  2.linux下載tgz型別,windows系統下載solr-5.5.0.zip  3.解壓

Lua BitOp 提供5.15.2版本位操作運算 (跨平臺C語言實現 說明部分1

BitOp作為The LuaJIT Project中的一個子專案。 Lua BitOp is a C extension module for Lua 5.1/5.2 which adds bitwise operations on numbers. Features 特點

用java實現簡單快速的webservice客戶端/資料採集器(支援soap1.1soap1.2標準,支援utf-8編碼)

前言: 用了cxf,axis等各種wbeservice實現庫,簡單試用了一下動態呼叫的方式,很不滿意,完全無法滿足業務的需要,所以自己實現了一個webservice採集客戶端,方便動態呼叫外部webservice介面。 一、實現的功能 1、soap1.1客戶端(soap1.

準備dbcp2-2.1.1pool2-2.4.2 、commons-dbcp-1.4jar包

1.4 .com bcp alt ima 下載地址 圖片 技術分享 2.4 下載地址:https://pan.baidu.com/s/1gtcW36Lz6Yt-j9WlTu31Pw 準備dbcp2-2.1.1和pool2-2.4.2 、commons-dbcp-

iOS稽核5.2.13.2拒絕解決過程

The seller and company names associated with your app do not reflect the name of a financial institution in the app or its metadata, as required by Guidel

EN 10204-3.13.2認證證書之間的差異

進行 相關 o-c 尺寸 文件的 客戶 文檔 附加 content EN 10204是歐盟標準,涉及鋼鐵金屬產品的不同類型的檢驗文件。 EN 102024,2.1,2.2,3.1和3.2有4種類型,後兩種類型主要用於鋼管和板材產品,因此這裏我們將主要介紹兩種類型之間的主要差

MySql 基礎學習筆記 1——概述與基本數據類型: 整型: 1)TINYINT 2)SMALLINT 3) MEDIUMINT 4)INT 5)BIGINT 主要是大小的差別 圖 浮點型:命令

where float 函數名 src ron 編碼方式 永遠 -m mas 一、CMD中經常使用mysql相關命令 mysql -D, --database=name //打開數據庫 --delimiter=name //指定分隔符 -h, --host=na

Mpeg系列——Mpeg 1Mpeg 2 Mpeg系列——Mpeg 4

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

JavaSE基礎(day22)(1)反射技術(2)Field(3)Constructor(4)Method(5)內省

1.反射技術 (難點 儘量掌握) 可以動態的建立物件 並且動態的獲取類中的 構造 屬性(成員變數 + get set 方法) 方法 。並且能進行動態的呼叫。 2.反射中涉及到的API java.lang.Class 用來描述其它類型別的一個型別 java.lang.reflect.C

各種音視訊編解碼學習詳解之 編解碼學習筆記(三):Mpeg系列——Mpeg 1Mpeg 2

    最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit

Java 表單註冊常用正則表示式驗證工具類,常用正則表示式大集合。 1. 電話號碼 2. 郵編 3. QQ 4. E-mail 5. 手機號碼 ……

/* Java 表單註冊常用正則表示式驗證工具類,常用正則表示式大集合。 1. 電話號碼  2. 郵編  3. QQ  4. E-mail  5. 手機號碼  6. URL  7. 是否為數字  8. 是否為中文  9. 身份證  10. 域名  11. IP*/ pack

Qt5.5.1Qt5.3.2編譯OCI驅動教程及驗證方法

oracle下載 電腦 博客 size 版權 ring nbsp scott 所有 我們都知道oracle數據庫的強大,並且好多企業或者教學用到數據庫時都會推薦使用。但是Qt因為版權問題沒有封裝oracle數據庫專用驅動,網上也有一大堆說法和教程,但是或多或少的都有問題。下

[1][python基礎]字符串編碼[2]

數據 例如 bom 輸出 通用 源碼 量變 二進制 tab [1][python基礎]字符串和編碼[2] 字符編碼 我們已經講過了,字符串也是一種數據類型,但是,字符串比較特殊的是還有一個編碼問題。 因為計算機只能處理數字,如果要處理文本,就必須先把文本轉換為數字才能處理

2018-3-1 10周2次課 ApachePHP結合、Apache默認虛擬主機

Apache PHP 虛擬主機 11.14/11.15 Apache和PHP結合1,修改ServerName在啟動apache時,會有類似錯誤提示[root@localhost ~]# /usr/local/apache2.4/bin/apachectl restart AH00558: http