2010年2月2日 星期二

H264的參考文件

H.264/MPEG-4 Part 10教程 (Richardson)

What is H.264?
Introduction to H.264
Video Compression Patents
4x4 Transform & Quantization
H.264 Intra Prediction
H.264 Inter Prediction
H.264 Loop Filte
H.264 Variable Length Coding
Introduction to CABAC

在看H264時,或許你可以參考VLC的Source Code,一邊印證你的理解!
Getting VLC or x264 source code via Git
編譯這個encoder需注意,你的系統必需安裝yasm-0.6.2以上的版本.
git clone git://git.videolan.org/x264.git

Advanced Video Coding on Linux

2 則留言:

曾仁甫 提到...

一般編碼機制中,固定每隔32張frame會編碼一次I-frame
由於在實際的video sequence中存在scene changes
,因此出現了估測目前畫面是否要編碼I-frame的方法
然而這些方法都是只考慮目前處理的frame是否編碼為I-frame
,請問在不是即時編碼的情況下,可以考慮整個seqeunce,進行分析後,決定那些frame是I-Frame嗎?
,這樣做會有什麼問題嗎?有沒有類似的方法被提出?
謝謝

史丹利 提到...

Hi 曾仁甫:

你的問題很有趣! 不過通常我們不會這麼做.
一般我們都會控制每隔一段時間後, 一定要編碼一次I-Frame.
你的想法, 概念上是可行的, 但是可能會有問題的,
我猜你的主要目的或許是想要減少I-Frame的產生?減少不必要的資料產生?
我們先假設一件事, 如果你有一個小時的sequence, 基本上畫面都相同, 理論上只需要一個I-Frame即可, 對吧?
但這樣子會產生一個問題, 扣掉I-Frame後, 後面的畫面基本上你是無法random access的, 因為P or B畫面都不完整.
你必需要重第一張I-Frame開始解才行.