Codec là từ viết tắt của coder/decoder, nó chỉ là một mẩu chương trình nhỏ. Hay chúng ta có thể
gọi nó là một công thức mà mọi chương trình media player cần đến nó. Chương trình sẽ đọc dữ
liệu file media, dùng codec để giải mã chúng và đưa ra cho chúng ta nội dụng chính xác = hình
ảnh/âm thanh của dữ liệu đó - đây là quá trình giải mã, một quá trình rất thông dụng trong cuộc
sống số bình thường. Quá trình mã hoá cũng gần như tương tự có điều theo chiều gần ngược lại
(vì có nhiều cách để encode)
15 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2364 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Các định dạng video, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu sưu tầm từ Internet
Giới thiệu về các định dạng video thường gặp
và các chương trình xem
Hiện nay có rất codec sử dụng để encode video cùng hàng tá các chuẩn khác nhau khác để
hiệu chỉnh, xem phim có subtitle... etc. Chính vì có quá nhiều thứ nên có lẽ chúng ta phải được
tìm hiểu một cách cẩn thận và ghi lại để tiện cho việc tra cứu về sau.
Về codec
Codec là từ viết tắt của coder/decoder, nó chỉ là một mẩu chương trình nhỏ. Hay chúng ta có thể
gọi nó là một công thức mà mọi chương trình media player cần đến nó. Chương trình sẽ đọc dữ
liệu file media, dùng codec để giải mã chúng và đưa ra cho chúng ta nội dụng chính xác = hình
ảnh/âm thanh của dữ liệu đó - đây là quá trình giải mã, một quá trình rất thông dụng trong cuộc
sống số bình thường. Quá trình mã hoá cũng gần như tương tự có điều theo chiều gần ngược lại
(vì có nhiều cách để encode)
Chính vì mỗi loại video/âm thanh có cách ghi theo chuẩn codec mà nó sử dụng nên việc đọc file
video/âm thanh cũng cần codec đó để giải mã. Vậy là cũng ko có gì khó khăn khi bạn gặp thông
báo lỗi "ko tìm thấy codec" hoặc "ko thể render" một file video nào đó.
Có 3 chuẩn codec MPEG (theo chuẩn MPEG thôi, còn rất nhiều codec khác):
- MPEG-1: sử dụng trong VCD thông thường. Đây có lẽ là codec video cơ bản và cũ nhất của
các loại video số. Có vẻ như nó sử dụng một chuỗi các hình ảnh nén bằng định dạng MPEG để
tạo phim (Mình ko quan tâm nó lắm nên cũng chả buồn tìm hiểu sâu).
- MPEG-2: sử dụng trong DVD video và SVCD.
- MPEG-4: các loại codec tiên tiến hiện nay. Trong này có rất nhiều dòng codec nhỏ khác nhau,
tuy chung gốc MPEG-4 nhưng lại có những quãng đường phát triển khác hẳn nhau.
Về các đuôi .AVI .OGM .MPG .WMV.. etc
Do có rất nhiều codec khác nhau tương ứng với rất nhiều nhà phát triển codec khác nhau nên
cách qui ước cũng khác nhau. Có thể tạm chia làm 2 loại:
- Loại đuôi tập tin sẽ chỉ ra loại codec file đó sẽ sử dụng, bao gồm: .WMV .RM .RMVB .MPG
.MPEG .MOV..
- Loại đuôi tập tin không chỉ đính xác ra loại codec file đó sẽ sử dụng, chỉ thể hiện đó là file
media: .AVI .MKV .OGM .MP4.. (còn rất nhiều loại nữa nhưng không phổ biến)
Nhưng, cả hai loại trên có một điểm chung - chúng chỉ là các container để chứa nội dung mà
thôi, còn việc nội dung đó như thế nào, cách ghi ra làm sao chỉ khi trình media player mở ra và
đọc nó sẽ biết file đó sử dụng codec gì. Nói cách khác, các file media đều thuộc loại thứ 2 - đuôi
tập tin chỉ nói lên chúng là file media mà thôi.
Tài liệu sưu tầm từ Internet
Lấy VD: file "fatcat.avi" là file container, trong đó bao gồm một đoạn video được nén với codec
DivX và âm thanh nén với MP3. Cả video và âm thanh có độ dài như nhau. Khi mở file này,
Media player sẽ dùng codec DivX để giải mã video và codec MP3 để giải mã âm thanh, phát
chúng cùng một lúc để tạo thành bộ phim có cả hình lẫn tiếng.
Từ lý thuyết trên, luận ra rằng: nếu định làm đĩa hình VCD thì cần convert video ra dạng MPEG-
1 và MPEG-2 nếu định làm DVD video.
MPEG-4
MPEG-4 là một chuẩn nén video được phát triển bởi một nhóm gọi là "Moving Picture Experts
Group" (hay gọi là MPEG). MPEG-4 được biết đến như là một "chuẩn nén của hình ảnh & âm
thanh bit-rate thấp". Có rất nhiều chuẩn được phát triển bởi nhóm này và đã được chấp nhận bởi
tố chức tiêu chuẩn quốc tế (ISO - International Standards Organization) hay còn gọi là chuẩn-
ISO ^^"
MPEG-4 là chuẩn-ISO/IEC #14496. Vì XviD đi theo chuẩn MPEG-2 part 2 nên nó còn được biết
đến như là MPEG-4 chuẩn ISO #14496-2 (chuẩn mới nhất của MPEG-4 đó là MPEG-4 part
10/AVC (Advanced Video Coding) hay còn gọi là H.264)
Thực tế, MPEG-4 là một chuẩn nén video với rất nhiều các phần mở rộng mà đặc biệt được thiết
kế để đạt tới chất lượng cao nhất của chuẩn nội dung video. Chuẩn nội dung ở đây là chuẩn trong
các video trong thế giới thật, nó không được thiết kế để nén video dựng bởi trình 3D, phim hoạt
hình trên TV thông thường hay là anime (đó là lý do tại sao các video thuộc thể loại trên nén
không tốt lắm khi sử dụng MPEG-4)
Các chuẩn codec thông thường thuộc họ MPEG-4 là DivX, 3ivx, Quicktime MPEG4 và XviD.
Mặc dù chúng là họ hàng với nhau, tuy nhiên một phim được nén bởi một trong các codec trên sẽ
không thể được giải mã bằng codec anh em của nó. Vì giữa chúng vẫn có những điểm khác nhau
cơ bản không thể thay thế. Lấy ví dụ bằng việc xử lý tập tin video có nhiều hơn 1 tỷ frame - đó là
việc mà DivX không thể thực hiện được, trong khi XviD lại có thể. Ví dụ khác sẽ là XviD có đến
3 điểm warppoint GMC (Global Motion Compensation) trong khi DivX chỉ có 1 điểm - điều này
dẫn đến sự khác biệt trong cấu trúc phần cứng để có thể giải mã được đoạn video được nén bằng
codec DivX hay XviD (phần cứng để giải mã DivX sẽ nhẹ nhàng hơn).
Có một số đầu đọc DVD phù hợp chuẩn MPEG-4 có thể đọc được video DivX. Để mở rộng khả
năng đọc các chuẩn MPEG-4 khác sẽ không khó khăn mấy. Việc này chỉ cần được thực hiện
bằng một số thay đổi nhỏ trong EEPROM liên kết với bộ xử lý video của đầu đọc - hay nói cách
khác là flash lại bộ EEPROM của đầu đọc.
Kỹ hơn về MPEG-4, các lý thuyết cơ bản
Để có thể nén được 2h video chất lượng cao mà chỉ nhỏ để đút vừa một đĩa CD đòi hỏi cả một
thuật toán phức tạp. MPEG-4 làm việc này bằng cách bỏ bớt những thông tin mà người xem
không cảm nhận được bằng cách biến đổi dữ liệu về các điểm ảnh trên video thành công thức
toán học gần giống với đoạn dữ liệu đó. Việc biến đổi này gần giống nhau đến mức con người
bình thường sẽ rất khó có thể nhận ra sự khác biệt giữa video nguồn và video kết quả (tất nhiên,
đó chỉ là lý thuyết).
Tài liệu sưu tầm từ Internet
Đầu tiên, mảng màu của khung hình ban đầu sẽ được biến đổi thành một mảng màu đặc biệt
được gọi là YV12. Mắt người thông thường kém nhạy cảm với các màu sắc hơn là với các mức
độ sáng tối (liếc nhìn thật nhanh qua bầu trời, bạn sẽ cảm nhận rõ nhất trời sáng hay trời tối hơn
là bầu trời có màu gì). Chính vì vậy, MPEG-4 đánh giá độ sáng tối của hình ảnh quan trọng hơn
là màu sắc. Điều này đem đến một kết quả là độ sáng tối được ghi lại trong mỗi pixel còn thông
tin màu sắc sẽ chỉ được ghi lại sau mỗi 4 pixel.
Trong các codec phổ biến hiện nay, có thể kể đến DivX, XviD và H.264 Ngoài ra còn một số đối
thủ cũng khá cạnh tranh khác (có điều cung cách phát triển ích kỷ) là Real Media và Window
Media Audio/Video.
DivX
Một codec nổi tiếng và rất rất phổ biến trong nhóm MPEG-4, có thể coi đã lên dạng lão làng khi
có khá nhiều đầu đọc DVD đọc luôn cả DivX. So sánh giữa chuẩn MPEG-2 và DivX thì chất
lượng có thể coi là như nhau có điều DivX trội hơn ở bit-rate thấp, điều này đồng nghĩa với việc
chúng ta có thể có một đoạn phim tương tự DVD video nhưng nhẹ hơn chỉ cỡ bằng 1/2 của DVD
video.
Tuy phổ biến như vậy nhưng so với các codec chị em của nó gần đây thì DivX bắt đầu tỏ ra yếu
thế, đặc biệt là trước XviD và H264 và một số codec đang phát triển khác.
DivX homepage:
DivX codec download:
XviD
Xvid là một codec theo chuẩn MPEG-4. Nó có thể nén một file video thành những dữ liệu theo
chuẩn của MPEG-4 và có thể được lưu trữ dưới dạng .AVI .OGM .MP4 hay khác. Bản thân
codec này không thể tự nén video mà nó phải nhờ một công cụ khác giúp nó, VD đó có thể là
trình VirtualDub.
Thông thường một codec sẽ đi kèm cả Decoder và Encoder, nhưng cũng có trường hợp một bộ
cài chỉ có Decoder mà thôi - với bộ cài đó bạn chỉ có để xem phim dùng codec đó mà không thể
nén phim bằng codec đó. Bộ filter chỉ có decoder có thể kể đến là Nic's decoder filter.
Xvid codec là một dự án mã nguồn mở GNU-GPL. Nghĩa là mã nguồn của nó có thể được
download bởi bất kỳ ai và chỉnh sửa theo bất kỳ ý thích nào của họ. XviD là chuỗi kí tự viết
ngược của DivX (phát triển bởi một công ty thương mại) - có lẽ nó giống như một sự thách thức
với codec DivX. Sự thật cho thấy XviD vượt trội về chất lượng nén hơn hẳn DivX.
XviD homepage:
XviD codec download: (ver1.1.2 stable)
RM/RMVB
Codec rất quen thuộc và phổ biến nhất TQ, nếu bạn bắt gặp 1 phim bộ tiếng Hoa bất kỳ được
share trên mạng, thì chắc chắn rằng 99% sẽ là dạng rmvb. Đây là codec riêng từ RealOne. Loại
này cho ra ảnh phim rõ nét, sáng đẹp và dung lượng của file khá nhỏ, đặc biệt có chút nhỉnh hơn
Tài liệu sưu tầm từ Internet
AVI nếu như là rip từ DVD ..
Phải nói coi 1 tập phim dạng rmvb - dvd rip thật chẳng thua gì DVD chính hiệu, rất tuyệt vời !
H.264
H264 là một codec thật sự ấn tượng.
Lần đầu tiên mình chứng kiến sức mạnh của H264 là từ một đoạn anime dài 24 phút, cỡ 704x400
pixel với âm thanh MP3 128kbps mà chỉ có 76.2MB (video bit-rate là 301kbps) - chất lượng của
nó gần bằng đoạn anime tương tự như thế nén với DivX nhưng nặng vào cỡ 233MB.
Lần thứ hai là chính tay mình nén một đoạn video 3 phút từ MPEG-1 (gốc) nặng 116MB ra
H264 (nặng 32MB) - thật sự mà nói thì xem bản H.264 còn đẹp hơn cả bản gốc T_T Nguyên
nhân của sự kỳ cục ấy là do H.264 sử dụng một thuật toán nào đó làm mờ đi các chi tiết mà nó
thật sự cần thiết trong các khung hình. Nó giống như là được de-cube, xoá nhoà các vết ô vuông
của codec MPEG-1 tạo ra vậy. Thật sự ấn tượng.
Hiện có một project giúp H264 đến người sử dụng miễn phí đó là compressor/decompressor
x264. Có thể xem thêm về nó tại:
VP60, VP72
Dòng codec mới nổi lên với kết quả được đánh giá là nổi trội nhất hiện nay có điều nó đang phát
triển, chưa hoàn chỉnh. Nhưng rất có thể chỉ một thời gian nữa thì VP72 sẽ là đối thủ nặng ký
nhất đối với H264 và XviD. Riêng DivX và gì gì khác cho về hưu luôn bây giờ kẻo trễ.
Thông tin về codec này mình chưa nắm nhiều lắm, nhưng chắc sẽ phải tìm hiểu thêm về nó để
theo kịp thời đại ^^"
Lựa chọn
Để chọn codec nào hay nhất thực ra cũng có nhiều thứ tác động đến quyết định. Nhưng có thể
nhận xét ngay rằng, việc chọn codec càng ít phổ biến thì việc edit/playback càng trở nên khó
khăn.
Như bên TQ thì toàn chơi RealMedia chẳng hạn ..
Chương trình XEM video
Các bạn mới chưa quen đôi lúc gặp khó khăn khi xem một số dạng phim. Để giúp các bạn tìm
kiếm cách giải quyết thích hợp, mình xin gợi ý như sau:
Để biết tương đối chính xác định dạng phim, các bạn có thể nhìn vào đuôi (extension hay phần
đứng sau dấu chấm) của tệp phim.
Để biết chính xác định dạng phim, bạn có thể dùng một tiện ích nhỏ có tên là Gspot. Có thể lấy
tại đây.
Với dạng WMV thông thường bạn sẽ không gặp bất kỳ một khó khăn nào bởi vì định dạng phim
Tài liệu sưu tầm từ Internet
này đuợc Windows Media Player vốn đi liên với Windows hỗ trợ hoàn toàn đầy đủ. Tuy nhiên,
dạng phimg WMV nhìn chung xấu hơn các dạng MPEG và AVI vì thường có bitrate thấp. Đổi
lại, tệp phim WMV thường nhẹ, thời gian upload và download nhanh, phù hợp với những bạn có
đường truyền Internet không cao và không có đòi hỏi cao về chất lượng phim.
Dạng phim MPEG có thể chia làm hai là Mpeg 1 và Mpeg 2.
Dạng Mpeg 1 thường dùng để làm các đĩa VCD mà các bạn thấy rất nhiều trên thị trường Trung
Quốc và Việt Nam. Dạng này có chất lượng hình ảnh tương đối tốt nhưng kích thước của tệp
nặng hơn của tệp phim dạng WMV. Nói chung với dạng Mpeg 1 các bạn cũng không có gì khó
khăn đáng kể bời vì Windows Media Player có sẵn trên máy của bạn hỗ trợ đầy đủ dạng Mpeg 1
này.
Dạng Mpeg 2 thường dùng để làm các đĩa SVCD chất lượng cao và đĩa DVD. Các bạn thông
thường bắt đầu gặp khó khăn với dạng Mpeg 2 này do Windows Media Player tuy có hỗ trợ
Mpeg 2 nhưng với điều kiện các bạn phải có codec (compressor/decompressor) tương thích. Nếu
trên máy tính của các bạn có cài sẵn các chương trình chuyên dùng để xem đĩa DVD như Power
DVD hay InterVideo các bạn đã có sẵn bộ codec tương thích để đọc dạng phim Mpeg 2 này.
Dạng AVI mà các bạn gặp bao gồm hai định dạng là DivX và Xvid. Đây là dạng phim nén có
chất lượng khá cao mặc dù có kích thước tệp khá nhỏ. Chính vì đây là dạng nén cao nên cũng có
đòi hỏi cao về tốc độ của máy tính, hay nói đúng ra là tốc độ của CPU.
Các bạn gặp khó khăn khi xem phim ở định dạng AVI (thường là có tiếng mà không có hình) vì
các bạn chưa có codec tương thích. Các bạn có thể tải bộ codec DivX tại đây. Bộ codec này cho
phép các bạn xem được cả hai dạng phim DivX và Xvid.
Tuy nhiên, với định dạng Xvid các bạn vẫn có thể gặp khó khăn (phim không có hình) ngay khi
đã cài bộ codec DivX. Trong trường hợp đó, các bạn cần cài thêm bộ codec Xvid có thể lấy tại
đây. Nếu sau đó các bạn vẫn chưa xem được hoàn chỉnh (phim có hình nhưng không có tiếng) đó
là vì tệp phim sử dụng hệ thống tiếng AC3 chứ không phải Mp2 hay Mp3 thông thường. Trong
trường hợp này, các bạn cần cài thêm bộ lọc AC3 có thể lấy tại đây.
Dạng tiếp theo là RM/RMVR. Đây là dạng phim của Real Media. Để xem được dạng phim này,
các bạn cần cài đặt chương trình Real Player có thể tải tại đây.
Dạng cuối cùng là DAT. Các bạn thường gặp dạng DAT khi người chiếu phim chép trực tiếp từ
các đĩa VCD/SVCD. Dạng DAT trên thực tế không khác Mpeg là bao. Chính vì vậy nếu máy
tính của bạn đọc được Mpeg1/2 thì cũng đọc được DAT. Các bạn có thể dùng các máy đọc thông
thường để xem phim dạng DAT.
Để đơn giản hóa mọi chuyện, các bạn có thể lựa chọn một trong hai cách sau:
1. Sử dụng bộ codec tổng hợp K Lite Codec có thể lấy tại đây. Bộ codec này cho phép bạn có thể
xem đầy đủ các dạng phim thông thường.
Tài liệu sưu tầm từ Internet
2. Sử dụng "đầu máy" đa di năng. Thông dụng nhất là VLC player, lấy tại đây hoặc Windows
Media Classic (có sẵn trong bộ K Lite Codec) hoặc tải riêng lẻ tại đây. Riêng với dạng DivX và
Xvid, đầu đọc được xem là tốt nhất là BSPlayer có thể tải tại đây.
ISO 14496-3 Advanced Audio Coding
(AAC)
Định nghĩa
Advanced Audio Coding (AAC) l{ một định dạng }m thanh đa năng nén theo kiểu lossy
được định nghĩa bởi MPEG-2 tiêu chuẩn v{ được ph|t triển bởi sự liên kết của Fraunhofer,
Dolby, Sony, AT&T.AAC được ph|t triển nhằm thay thế cho định dạng }m thanh đ~ qu| nổi
tiếng MP3 để tích hợp trong container MP4-một container của MPEG-4 tiêu chuẩn hỗ trợ
đầy đủ c|c tính năng phụ(xem thêm phần MPEG-4).
AAC có thể tích hợp tới 48 kênh }m thanh (có sample rate tới 96KHz) cộng thêm 15 kênh
}m thanh tần số thấp (Low Frequency Enhancement-LFE) giới hạn sample rate ở 120 Hz.
HE-AAC và LC-AAC
HE-AAC và LC-AAC l{ hai profile của MPEG-4 AAC tiêu chuẩn.
-LC nghĩa l{ “ít phức tạp”-Low Complexity.
-HE nghĩa l{ “hiệu quả cao”-high efficiency.HE-AAC cũng được hiểu theo c|ch kh|c l{
AACPlus,AAC+ hay AAC SBR(Spectral Band Replication)…
HE-AAC được ph|t triển nhằm sử dụng trong việc encode với bitrate thấp – đặc biệt có t|c
dụng với file }m thanh có sử dụng nhiều kênh (multichannel).
Những công cụ cho việc encode AAC.
Đối với LC profile:
-Apple AAC:chỉ hỗ trợ CBR với những bản Quicktime cũ hơn ver7.Từ Quicktime 7 trở đi có
thể encode AAC VBR.Mặc dù vậy,đến thời điểm n{y Quicktime vẫn chưa hỗ trợ
multichannel.
-FAAC (Free Advanced Audio Coder):một LC-AAC m~ nguồn mở v{ miễn phí
Dành cho Winamp (nếu sử dụng
Winamp pro,có thể chuyển đổi từ đĩa Audio CD sang FAAC)
Dành cho CoolEdit
LC & HE Profile:
Tài liệu sưu tầm từ Internet
-Nero Burning rom v{ trình Wave Editor tích hợp có thể encode cả LC v{ HE AAC.Plugin có
thể download tại
-RealPlayer 10 v{ RealProducer 10.Có thể tìm hiểu tại
Hỗ trợ đầy đủ kỹ thuật m~ hóa LC/HE AAC.Với RealPlayer 10 gold,ta có một công cụ m~ hóa
AAC rất đ|ng sử dụng.Để encode HE AAC với RealProducer,cần có một gói hỗ trợ có thể tìm
thấy tại: https://helix-producer.helixcommunity.org/downloads.htm
AAC GUI:
-BeLight
Một GUI (giao diện đồ họa d{nh cho người sử dụng-Graphic User Interface) có thể encode
hầu hết c|c định dạng }m thanh hiện nay dựa v{o việc sử dụng chương trình thực thi
BeSweet v{ c|c plugin }m thanh.Với BeLight,người dùng được hỗ trợ encode với
FAAC,NeroDigitalAAC,WinampAAC,3GP reference.
-TheAACmachine Guide
GUI hỗ trợ cho AacEnc.exe 1.15 hay mới hơn
Nếu muốn tìm hiểu thêm thông tin về AAC hay audio,những site sau có thể giúp ích cho bạn.
ISO 14496-10 (Video) - Advanced Video
Coding (AVC)
Chuẩn mã hóa mpeg-4 mới nhất- AVC/H.264 được hoàn thành gần như đồng thời vào năm 2003
bởi 2 nhóm,nhóm MPEG (Moving Pictures Experts Group) trực thuộc ISO và nhóm VCEG
(Video Coding Experts Group) của ITU (International Telecommunication Union),một tổ chức
nhỏ thuộc United Nations (UNO),đã tiêu chuẩn hóa dịnh dạng H.263(đang được dùng rất phổ
biến)
AVC/H.264 tiêu chuẩn được phát triển bởi Joint Video Team (JVT),là một nhóm được thành lập
từ việc sát nhập hai nhóm MPEG và VCEG.
Với nhóm MPEG,codec này được gọi là MPEG-4 Part 10 (ISO 14496-10).Với ITU,nó được gọi
là H.264.Hiện nay,codec dạng này được biết đến dưới tên gọi thống nhất do MPEG đề ra:
Advanced Video Coding (AVC).
AVC/H.264 Profile:
Tài liệu sưu tầm từ Internet
AVC/H264 tiêu chuẩn có 4 profile:
-Baseline.Cung cấp tùy chọn I/P-Frames,hỗ trợ progressive và CAVLC.
-Main.Cung cấp tùy chọn I/P/B-Frames,hỗ trợ progressive và interlaced,CAVLC hay CABAC
-Extended. Cung cấp tùy chọn I/P/B/SP/SI-Frames,hỗ trợ progressive và CAVLC.
-High.Cung cấp tùy chọn I/P/B-Frames,hỗ trợ progressive và interlaced,CAVLC hay
CABAC.8x8 intra prediction, custom quants, lossless video coding,yuv formats (4:4:4...)
Những công cụ cơ bản của AVC codec:
CAVLC/CABAC:
AVC/H.264 đưa ra 2 công cụ mới cho việc mã hóa entropy của cú pháp bitstream(macro block-
type, motionvectors + reference-index...) so với ASP codec.Đó là Context-Adaptive Variable
Length Coding (CAVLC) và Context-Adaptive Binary Arithmetic Coding (CABAC).
CABAC,được so sánh với CAVLC(UVLC),phương pháp mặc định trong AVC/H.264,là một
phương pháp nén mạnh mẽ hơn,nó được giới thiệu là làm hạ bitrate thêm tới khoảng 10 đến
15%(đặc biệt là với bitrarte cao). CABAC (như CAVLC) là một phương pháp lossless và vì vậy
sẽ không hề ảnh hưởng tới chất lượng,nhưng sẽ làm chậm cả quá trình mã hóa và giải mã.
Bộ lọc Loop/Deblocking:
Trái ngược với prefiltering (thực thi trên file đưa vào-avisynth) hay postprocessing/filtering (thực
thi trên file xuất ra cuối cùng), LoopFiltering được áp dụng trong suốt quá trình encode trên mọi
frame đơn lẻ,sau khi nó được encode,nhưng trước đó nó sẽ được sử dụng để tham khảo cho
những frame đến sau.Cải tiến mới này sẽ giúp tránh được hiện tượng blocking artifact,đặc biệt là
với bitrate thấp.Nhưng tốc độ mã hóa,giải mã sẽ bị giảm sút.
Variable Block Sizes/Macroblock Partitions:
Vượt trội hơn ASP codec(với block size dao động giữa 16x16 và 8x8 pixel),AVC/H.264 cung
cấp cho Motion Search Precision một sự phân chia linh hoạt hơn với 1 macroblock có thể giảm
kích cỡ xuống còn 4x4(bao gồm cả những block như 8x4…).Kích cỡ của block là có thể tùy biến
và thay đổi (adaptive/variable).Như vậy, 1 codec và trình hỗ trợ encode có thể đủ thông minh để
quyết định lựa chọn size nào là thích hợp nhất cho mỗi macroblock xác định.
Multiple Reference Frames:
Không giống như với mpeg-4 ASP(chỉ sử dụng frame trước frame hiện tại đang xử lý để tham
khảo),AVC/H.264 cung cấp nhiều sự lựa chọn hơn cho một frame trong quá trình tìm kiếm
chuyển động.Có nghĩa là codec có thể chọn lựa một tham khảo đơn giản tới frame trước
nó(giống như ASP) hay tới một frame trước đó nữa.Ví dụ một P-frame có thể tham khảo một
frame trước I-frame gần nhất.Với sự liên kết giữa các frame được mở rộng như vậy,một loại
frame mới cũng được thêm vào: IDR-Frame,là những I-frame phía trước nhưng không đứng liền
Tài liệu sưu tầm từ Internet
kề frame được nó cho tham khảo.Multiple reference frames sẽ là chậm quá trình mã hóa và giải
mã,đồng thời quá trình cắt một file AVC/H.264 dạng này sẽ chỉ thực hiện được tại những IDR-
frame.
Weighted Prediction:
Với những đoạn film có hiệu ứng mờ dần(những frame đến sau rất giống so với những frame
ngay trước nó,chỉ có sắc độ là khác một chút),WP có thể hỗ trợ quá trình mờ dần hay tối dần
khung hình.Mặc dù vậy,WP sẽ không hỗ trợ trong trường hợp chuyển cảnh.
Rate Distortion Optimization (RDO):
RDO giúp cho trình encode có thể đạt được hiệu suất xử lý mã hóa cao nhất khi phải lựa chọn
giữa nhiều tùy chọn.RDO không phải là một công cụ được định nghĩa bởi AVC/H.264 nhưng với
nó,người sử dụng có một phương pháp tiếp cận xử lý mới được giới thiệu bởi phần mềm
H.264.Các codec khác cũng có thể sử dụng RDO,như XviD với VHQ mode đã có sẵn RDO.
Về tốc độ mã hóa và giải mã.
AVC/H.264 codec chậm hơn rất nhiều so với ASP codec do tích hợp những công cụ tiên tiến đã
được đề cập ở trên.Hiện tại,hai AVC/H.264 codec có tốc độ tốt nhất kèm theo một chất lượng
hình ảnh xứng đáng là X264 và NeroDigitalAVC,mặc dù vậy tốc độ của chúng cũng chưa thể só
sánh được với những ASP codec đã quá quen thuộc như DivX hay XviD.Nhưng việc mã hóa và
giải mã AVC/H.264 cũng được nhận một sự trợ giúp đắc lực từ những nhà sản xuất CPU tốc độ
cao như Intel và AMD bởi những thế hệ máy tính để bàn mới hiện nay đều có tốc độ xử lý rất
nhanh và hoàn toàn có thể đáp ứng được yêu cầu tốc độ của codec mới này.
Một số AVC/H.264 encoder
Apple
Apple hỗ trợ 2pass, max 1 B-frame, Adapt. Quant, multiple Slices, không hỗ trợ CABAC, Loop
và Weighted Prediction.Tìm thêm thông tin tại
NeroDigital AVC
ND AVC hỗ trợ 2pass, CABAC, (adaptive) Loop, multiple B-Frames, mulitple Reference
Frames, weighted prediction, 8x8 P-Frame Blocksizes, 16x16 B-Frame Blocksizes, Adaptive
Quant. (Psy High)
Moonlight
Sử dụng với Moonlight's OneClick Compressor v1.1 và CyberLink's PowerEncoder,
Hỗ trợ 1pass (VBR/CBR/Fixed Quants), CABAC, Loop, 2 B-Frames, 8x8 P-Frame Sizes, Adapt.
Quant, PAR, Interlacing.
Tài liệu sưu tầm từ Internet
X264
Là High Profile đầu tiên được công bố đại chúng,là một nguồn mở,miễn phí.
X264 hỗ trợ Npass encode, CABAC, Loop, multiple B-Frames, B-References, multiple
Reference Frames, 4x4 P-Frame, 8x8 B-Frame Blocksizes, anamorphic signalling và High
Profile: 8x8 dct và intra prediction, lossless và custom quant matrices cùng một loạt tùy chọn
phụ khác.
Một số bộ giải mã AVC/H.264
Apple: bộ giải mã AVC của Quicktime 7.
Ffmpeg: một nguồn mở,được tích hợp trong một số bộ codec miễn phí như ffdshow (VFW và
DShow decoder), mplayer và VideoLAN
Hỗ trợ B-Frames, B-References, CABAC, Loop, Weighted Prediction và High Profile (8x8
dct,intra prediction, lossless)
NeroDigital AVC:bộ giải mã của NeroDigital,hỗ trợ Main Profile và High Profile
Moonlight:bộ giải mã của Moonlight tích hợp trong Moonlight's MPEG Player v3.0
Hỗ trợ Main Profile High Profile.
Sự tương thích của MPEG-4 AVC codec với các thiết bị chuyên dụng:
Hiện tại,ngoại trừ computer,không có bất cứ một thiết bị nào được công bố rộng rãi là có khả
năng giải mã tốt AVC/h.264 codec.Ngay cả bản thân codec này cũng chưa đạt đến một độ tương
thích rộng rãi trên PC.Theo một vài nguồn tin,có thể trong tương lai,codec này sẽ được áp dụng
cho HD-DVD để trở thành chuẩn video thông dụng tiếp theo thay thế cho chuẩn DVD hiện nay.
ISO 14496-2 (Video) - Advanced Simple
Profile (ASP)
Simple Profile(SP) là profile sơ cấp nhất cho việc mã hóa video thành dạng mpeg-4,SP không có
bất kỳ công cụ đi kèm nào để tác động tới file output,điều duy nhất có thể làm với SP là đặt
frame size và frame fer second(fps)
Advanced Simple Profile(ASP) là dạng cải tiến của SP,tích hợp thêm một số tùy chọn quan
trọng để điều chỉnh file output theo mềm dẻo hơn theo ý người sử dụng như B-
Tài liệu sưu tầm từ Internet
Frames,QuarterPixel Motion Estimation, Global Motion Compensation,MPEG/Custom
Quantization.
B-Frames/B-VOPS/Bi-directional encoding/prediction:
Ở giai đoạn bạn đầu,SP có hai loại frame được áp dụng để mã hóa mpeg-4,đó là I-frame và P-
frame.
I-frame là một khung hình hoàn chỉnh và không cần nhận hỗ trợ từ frame khác,nó còn gọi là key
frame.
P-frame là frame chỉ bao gồm những phần khác biệt(có sự thay đổi thay đổi)từ P-frame hay I-
frame trước.
Với ASP,ngưới sử dụng được tiếp xúc với một loại frame khác,đó là B-frame.Loại frame này
được xây dựng để sử dụng dữ liệu từ những frame đứng cạnh nó(có thể là I hay P).B-frame có
thể được nén rất nhiều so với các loại frame khác do đó làm giảm đáng kể dung lượng của file
video có sử dụng nó.Những ASP codec có hỗ trợ B-frame được sử dụng nhiều nhất là Div từ
5.0 hay cao hơn),XviD…một codec rất nổi tiếng nhưng chưa hỗ trợ loại frame này là 3ivx.
Quarter Pixel Motion Search Precision (QPEL):
Theo mặc định,hầu hết các codec dành cho mpeg-4 đều nhận diện chuyển động với đơn vị là ½
điểm ảnh (HalfPel).Với QPEL,người sử dụng có thể dò chuyển động với đơn vị là ¼ điểm
ảnh,như vậy độ chính xác được tăng lên gấp đôi.Với độ phân tích cụ thể gấp đôi(¼ thay vì
½),hình ảnh thu được cũng sẽ sắc nét hơn rất nhiều.
Global Motion Compensation (GMC):
GMC sử dung một vectơ chuyển động đơn (single motion vector) cho tất cả những phần chuyển
động tương tự như nhau với những frame nó cho là có nhiều phần chuyển động.GMC sẽ giúp lưu
lại những phần chuyển động nhỏ khi panning, zoom.Như vậy,với GMC,chuyển động sẽ trở nên
sắc nét hơn ngay cả khi tạm dừng,phóng to hình ảnh…qua đó cải thiện chất lượng hình ảnh.
MPEG/Custom Quantization:
Ở SP,người sử dụng chỉ có thể sử dụng loại quantization là H.263,ASP cung cấp thêm một tính
năng vượt trội hơn hẳn:người sử dụng có thể tự thiết lập quantization matrix riêng cho
mình.H.263 quantization mặc định được thiết kế cho việc encode với bitrate thấp.Khi dùng
nó,kết quả thu được sẽ là video có hình ảnh mịn-hơi mờ giống như khi áp dụng bộ lọc Blur trong
Photoshop.Nếu trong codec mình đang sử dụng,bạn có thể chọn MPEG matrix,thì nên nhớ đây là
matrix dành cho mpeg-4 với bitrate cao và sẽ không hợp lý khi dùng nó cho việc encode bitrate
thấp.
Hiện nay trên thế giới phổ biến khá nhiều Custom Matrix tối ưu cho từng truờng hợp,nếu không
thể tự xây dựng một Custom Matrix cho riêng mình,bạn có thể sử dụng Google để dễ dàng
search thấy một và Matrix cần thiết.
Tài liệu sưu tầm từ Internet
Adaptive Quantization:
Trong quá trình encode với bitrate biến thiên(Variable Bitrate),khi sử dụng AQ,mỗi frame có thể
được nén với những quantizer khác nhau.Thông qua một trình điều khiển của codec gọi là rate
control,các frame khác nhau sẽ được cung cấp những quantizer khác nhau phụ thuộc vào bản
chất hình ảnh của chúng.Ví dụ những phần chuyển động hay những phần hình ảnh sẫm màu khó
nhận biết sẽ được xử lý với quant lớn hơn(độ nén cao hơn,dung lượng nhỏ hơn),những phần hay
được hệ thống mắt người chú ý nhiều hơn sẽ được xử lý với quant thấp hơn(độ nén nhỏ
hơn,dung lượng lớn hơn).
Với rất nhiều người dùng hiện nay,codec ASP nổi tiếng nhất được biết tới là DIVX,hiện nay đã
phát triển một định dạng container mpeg-4 của riêng mình với phần mở rộng là .divx.Nhưng bạn
nên biết rằng,ngoài DIVX codec,còn có rất nhiều ASP codec khác cũng mạnh mẽ và tương thích
không kém.
Một số MPEG-4 ASP codec:
Dưới đây là bản danh sách một vài ASP codec :
3ivx
XviD
DivX
DivX4/OpenDivX
Nero Digital
QuickTime
Envivio
Sorenson
Ffmpeg
ffdshow/ffvfw
Một số codec như RV9,VP7 và WMV9 không phải là codec hoàn toàn tương thích với mpeg-4
tiêu chuẩn.
Sơ qua về những ASP codec hàng đầu hiện nay:
DivX
Chắc chắn đây là codec đầu tiên cần được nhắc tới.Có thể nói đây là ASP codec nổi tiếng
nhất,được sử dụng rộng rãi nhất trên thế giới hiện nay.Codec này cung cấp những tính năng ASP
như QPEL,GMC(chỉ hỗ trợ 1 warpoints để vẫn có thể phát được trên một số thiết bị chuyên
dụng),B-frame(chỉ cho phép tối đa 2 B-frame kề nhau),quant H.263 và MPEG(không thể tự tạo
Custom Matrix).DivX là một codec mang tính thương mại cao,DivX Networks liên kết với rất
Tài liệu sưu tầm từ Internet
nhiều công ty,tập đoàn khác để tạo nên những sản phẩm(phần cứng,phần mềm) tương thích với
video sử dụng codec của họ.Hiện nay,DivXNetworks cũng đã nâng codec của họ lên một tầm
cao mới khi công bố container .divx với những tính năng đồng bộ hầu như có thể tạo được một
movie mpeg-4 có những chức năng giống hệt DVD.
XviD
Đây là một codec miễn phí và được xây dựng hoàn toàn bởi sự đam mê của nhóm tác giả.Có lẽ
hiện nay,đây là ASP codec được giới encode đánh giá cao nhất.XviD cung cấp tất cả những gì
một ASP codec có thể mang lại với B-frame(không giới hạn số B-frame liền
nhau),QPEL,GMC(hỗ trợ tới 3 warpoints,lưu ý hiện tại không có loại thiết bị chuyên dụng nào
có thể giải mã được mpeg-4 với 3 warpoints GMC), H.263/MPEG/Custom Quants,Adaptive
Quants…XviD là sự kết hợp tuyệt vời giữa tốc độ,chất lượng và khả năng tùy biến cao.
3ivx
Là một trong những mpeg-4 codec đầu tiên.3ivx cung cấp tín năng H.263/MPEG Quants,
Adaptive Quant,4 Vector Motion nhưng không có B-Frames, GMC và QPEL).3ivx là codec đầu
tiên cho phép chọn Pixel Aspect Ratio hoàn toàn theo ý muốn(Custom PAR).
Nero Digital
Một ASP codec được phát triển bởi Nero trong thời gian gần đây.Dù xuất hiện sau,nhưng codec
này đã nhanh chóng tìm được chỗ đứng với một chất lượng encode khá tốt và tốc độ ấn
tượng.Nero Digital hỗ trợ 1 B-frame,GMC(3 warppoints), QPEL, h.263/MPEG/Custom Quants,
Adaptive Quant.
Sự tương thích của MPEG-4 ASP codec với các thiết bị chuyên dụng:
Những loại chip giải mã dành cho thiết bị chuyên dụng đầu tiên không có khả năng hỗ trợ một
vài tính năng của ASP codec(ví dụ như QPEL,GMC).Những chip giải mã thế hệ mới có thể hỗ
trợ QPEL và GMC với chỉ 1 warppoint(không có bất cứ chip nào hỗ trợ 3WP GMC).Để đảm bảo
sự tương thích cho file mpeg-4 với các lọai chip giải mã cũ,một khái niêm mới được đưa vào,đó
là “private MPEG-4 Profiles”.Ví dụ với DivXNetworks,họ đưa ra 4 loại Certification profile
gồm có Handheld,Portable,Hom Theater,High Definition.Các profile loại này sẽ không cho phép
sử dụng những ASP tool có thể làm giảm tương thích của video với thiết bị.Do đó,sự tương thích
đã bị đánh đổi bằng chất lượng.
To ̉ ng quan ve ̀ MPEG-4
MPEG-4 là gì?
Tài liệu sưu tầm từ Internet
MPEG-4(Moving Picture Experts Group-4) l{ một chuẩn Multimedia mở vô cùng rộng lớn
được ph|t triển bởi Moving Picture Experts Group-một nhóm thuộc tổ chức quốc tế về tiêu
chuẩn hóa(International Organization for Standardization-ISO).Lưu ý rằng chính nhóm này
đ~ ph|t triển hai chuẩn audio/video hiện nay đang phổ biến trên to{n thế giới l{ MPEG-
1(VCD) và MPEG-2(DVD,SVCD).
MPEG-4 còn được giới am hiểu thông tin hiểu l{ ISO 14496-được thiết kế không nhằm v{o
việc sản xuất ra một sản phẩm cụ thể n{o(giống như MPEG-2 gắn liền với DVD),nó chỉ đưa
ra những tiêu chuẩn bắt buộc phải tu}n theo,v{ những nh{ cung cấp sẽ dựa v{o khuôn mẫu
có sẵn đó để ph|t triển những định dạng của mình.Dựa trên ý tưởng đó,mpeg-4 đề ra nhiều
tiêu chuẩn phụ với c|c t|c dụng sau:
-ISO 14496-1 systems: Dùng để tạo những tính năng hỗ trợ cho hệ thống MPEG-4:giống
như DVD menu hay chapter.
-ISO 14496-2 video: l{ phần hình ảnh của MPEG-4,được m~ hóa v{ giải m~ bởi những
Advanced Simple Profile (ASP) codec.ASP codec điển hình l{
DivX,XviD,3ivX,NeroDigitalASP...
-ISO 14496-3 audio:sử dụng Advanced Audio Coding (AAC),l{ phần }m thanh của MPEG-
4,hiện nay có kh| nhiều định dạng }m thanh hỗ trợ cho MPEG-4 như
MP3,AAC,OGG,AC3,DTS...
-ISO 14496-4 Conformance : những test nhất định được tiến h{nh để kiểm tra độ tương
thích của bitstream v{ decoder với c|c phần 1,2,3,6.
-ISO 14496-5 Reference Software : Những software d{nh cho MPEG-4 chưa được tối ưu
hóa.
-ISO 14496-6 Delivery Multimedia Integration Framework
-ISO 14496-7 Optimised software for MPEG-4 tools
-ISO 14496-8 4 on IP framework : framework d{nh cho việc truyền ph|t MPEG-4 stream
trên mạng lưới IP.
-ISO 14496-10 video:đ}y l{ dạng mới hơn d{nh cho phần hình ảnh của MPEG-4.Thay vì sử
dụng ASP codec,nó sử dụng Advanced Video Coding (AVC),c|c AVC codec ra đời sau ASP
codec v{ còn trong giai đoạn ph|t triển ban đầu với nhiều chi tiết chưa thật sự hoạt động
tốt,nhưng rõ r{ng từ ASP đến AVC l{ một bước tiến lớn.C|c AVC codec được biết đến nhiều
nhất gồm có x264,NeroDigitalAVC.
-ISO 14496-14 container:định dạng dùng để kết hợp hệ thống MPEG-4(có thể gồm có c|c
kênh }m thanh,hình ảnh,chapter,phụ đề.file đính kèm...)
Tài liệu sưu tầm từ Internet
-ISO 14496-17 subtitles: phụ đề dạng ký tự d{nh cho MPEG-4.Xem hướng dẫn VobSub để rõ
hơn.
MPEG-4 mang tới một chất lượng streaming tốt hơn ở một dung lượng thấp hơn so với c|c
dạng streaming hiện nay.
MPEG-4 được x}y dựng cho c|c mục đích chính sau:
-Truyền hình kỹ thuật số (Digital Television -DT)
-Ứng dụng đồ họa tương t|c.
-Multimedia tương t|c
Các file đính kèm theo tài liệu này:
- Các định dạng video.pdf