H.264 Video Compression

ปัจจุบัน ผู้ให้บริการวีดิโอต่าง ๆ อย่าง Apple TV ไม่เว้นแม้แต่ YouzTube(ที่โดนบล็อก) ก็เริ่มที่จะใช้ H.264
กันมากขึ้น ยิ่งโดยเฉพาะ HDTV ที่เริ่มมีให้บริการในต่างประเทศบางเจ้าแล้ว ก็ยิ่งทำให้ H.264 มีการใช้มากขึ้น
โดยส่วนตัว ตั้งแต่ตอนทำ Senior โปรเจค แล้ว H.264 ก็เป็นอย่างนึงที่ได้ใช้มาตลอดตั้งแต่นั้นจนกระทั่งทำงาน
เป็น 25% จากที่เรียนมาที่ได้ใช้ตอนทำงาน เอาเป็นว่า เรามาทบทวนความรู้เรื่อง H.264 กันดีกว่า

H.264 หรือ MPEG-4 AVC (Advance Video Coding) หรือ MPEG-4 part 10 เป็นการบีบอัดวีดิโอแบบหนึ่ง ซึงเป็นตระกูลเดียวกัน
กับ MPEG-123 ซึ่งใช้ DCT (Discrete Cosine Transform)เหมือนกัน (เรียน integrate หลาย ๆ ชั้นก็เพื่อการนี้) แต่ความพิเศษ
ของ H.264 จะอยู่ที่อัตราการบีบอัดที่มีกขึ้น แต่คุณภาพสูงกว่า เท่าที่ลองใช้มา จะบีบอัดได้โดย bandwidth จะลดลง
ราว 4 เท่า เช่น DVD ที่ 4 Mbps จะ ลดลงเหลือ 1Mbps เป็นต้น ทั้งนี้ขึ้นกับค่าที่ตั้ง ซึ่งความจริงนั้น H.264 มีมาตรฐาน
ที่บ่งบอกคุณสมบัตรและมาตาตรฐานการบีบอัดเพื่อให้เข้ากันได้ ซึ่งเรียกว่า Profile และ Level โดยจะมีคุณสมบัติต่าง ๆ ที่ต่างกัน

Profile เป็นมาตรฐานที่บ่งบอกคุณสมัติของ H.264 โดยแต่ละ profile จะมีคุณสมบัติ หรือ Feature ต่าง ๆ กัน เช่น Chroma Format , B-frame เป็นต้น

Level เป็นมาตรฐานที่บ่งบอกระดับความสามารถในการแสดงผลที่ Profile ต่าง ๆ เช่น Resolution และ bitrate ของ Video

ตัวอย่างเช่น H.264/MPEG-4 AVC Main Profile Level 3 หมายความว่า มีคุณสมบัติในการ Encode ตามมาตรฐาน Main Profile และแสดงผลได้สูงสุดที่
720x576 ที่ 25 fps (PAL) หรือ 720x480 ที่ 30fps (NTSC) ซึ่งเป็นมาตรฐานที่ใช้สำหรับ H.264 Standard Definition

คุณสมบัติที่ทำให้ H.264 ต่างจาก MPEG-123 ก็มีหลายอย่าง เช่น

  • deblocking filter ซึ่งพบใน DivX หรือ XviD และ WMV9 ซึ่งทำให้ลดการเกิดบล็อกของวีดิโอ (อย่างที่เห็นได้ชัดใน VCDเมื่อเปิดกับ Computer)
  • B-frame หรือ Bi-directional frame ซึ่งเป็น frame ที่แทนเฟรมก่อนหน้าและหลัง ซึ่งยิ่งมีมากก็จะยิ่งลดขนาดbandwidth แต่กินทรัพยาการเครื่องมาก
  • CAVLC และ CABAC entropy encoding ซึ่งช่วยบีบอัดที่ช่วยลดขนาดแบบหนึ่ง
  • Monochrome color sampling เป็นอัตราการสุ่มการเลือกสีของภาพเพื่อใช้ในการ encode ซึ่งสนับสนุนที่ 4:2:0, 4:2:2, และ 4:4:4
  • อื่น ๆ อีกมากมาย

ส่วน HDTV นั้นก็มีการใช้ H.264 กันด้วยเช่นกัน แต่ส่วนมากยังเป็น MPEG-2 ซึ่งเป็นมาตรฐานของ TV ผ่านดาวเทียมทั่วไปในปัจจุบัน
หรือจะเป็น DVB-S (Digital Video Brodcasting - Satellite) ทั่วไป ส่วนที่จะใช้ H.264 นั้น จะเป็น DVB-S2 ซึ่งใช้ MPEG-4 เป็นมาตรฐานแทน MPEG-2
และเริ่มมีการนำมาใช้แล้วบ้าง

High Definition Video ที่มีในปัจจุบัน มักจะสนับสนุนการทำงานที่ H.264/MPEG-4 AVC High Profile Leve 4.1 ซึ่งแสดงผลที่ 1280x720i/p และ 1920x1080i/p ซึ่งใช้ได้กับ HD LCDTV ที่มี Logo HDReady นั่นเอง (i = interlaced scan, p = progressive scan) ส่วนที่เป็น Bluerays นั้น จะแตกต่างในรายละเอียดมากกว่า

สำหรับรายละเอียดนั้น H.264 ยังมีเรื่องที่น่าสนใจอีกมาก เอาไว้เขียนคราวหน้าละกันครับ

Tags: