Các định dạng video

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)

pdf15 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2255 | Lượt tải: 0download
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:

  • pdfCác định dạng video.pdf
Tài liệu liên quan