CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI • Chương 2 - Các nghiên cứu liên quan: bao gồm các công trình nghiên cứu liên quan đến việc hiện thực hóa các quy trình của bộ mã hóa H.264 trên nền tảng FPGA • Chương 4 - Phương pháp tiếp cận: phân tích đặc điểm của mã nguồ và trình bày cụ th ểphương pháp đề xuất và cách thức quy trình hoạt động • Chương 5 - Kết quả thực nghiệm: là kết quả đánh giá của phương pháp đề xuất và so sánh với các phương pháp khác • Chương 6 - Kết luận: nêu ra các kết luận đúc kết được trong quá trình nghiên cứu và hướng phát triển tiếp theo trong tương lai. 6 Chương 2 Cơ sở lý thuyết Chương này sẽ đi sâu và giải thích những khái niệm liên quan đến Digital video. Sau đó sẽ đưa những thông tin tổng quan về cách hoạt động của chuẩn mã hóa video H.264/AVC và đi sâu về các quy trình hoạt động của một bộ mã hóa H.1 Tổng quan về Digital Video Video số (digital video) là sự diễn tả một đoạn video tự nhiên trong thế giới thực thông qua lấy mẫu (sampling).
Thường thì những cảnh vật sẽ được lấy mẫu trong một khoảng thời gian nhất định để tạo thành một frame hoặc field ở chính thời điểm đó. Lấy mẫu thường được lặp lại sau một khoảng thời gian (thường là 1/25 hoặc 1/30 giây) để tạo thành một đoạn video chuyển động. Một đoạn video tự nhiên thường bao gồm nhiều đối tượng (object) khác nhau, từng đối tượng đó mang những đặc điểm riêng về hình dạng, độ sâu, cấu trúc riêng biệt. Màu sắc và độ tương phản của một đoạn video tự nhiên cũng liên tục thay đổi.
Cùng với sự thay đổi về ánh sáng, góc quay camera, những đặc điểm trên của một đoạn video tự nhiên ảnh hưởng rất lớn đến việc xử lý và mã hóa video.1 Frames và Fields Như đã đề cập ở trên, một đoạn video có thể được tạo bằng cách lấy mẫu một chuỗi những frames, gọi là progressive sampling, hoặc bằng những đoạn fields 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT xen kẽ (interlaced), cách lấy mẫu này có tên interlaced sampling.1: Một frame cảnh được lấy mẫu (1) Trong một đoạn interlaced video, một nửa dữ liệu trong một frame sẽ được chứa trong một field. Một filed thường sẽ chứa toàn bộ những dòng lẻ (odd- numbered lines) hoặc dòng chẵn (even-numbered lines) của một frame hoàn chỉnh và vì vậy, một đoạn video interlaced sẽ chứa một chuỗi nhiều fields để tạo thành một video hoàn chỉnh. Ưu điểm của cách lấy mẫu video này là nó tạo ra số lượng fields gấp đôi số lượng frames trong cùng một đoạn thời gian, điều đó giúp cho các chuyển động trong video được lưu trữ trở nên mượt mà hơn.
CƠ SỞ LÝ THUYẾT Hình 2.2: Top field của cảnh được lấy mẫu (1) Hình 2.3: Bottom field của cảnh được lấy mẫu (1) Điều quan trọng cần chú ý rằng một đoạn digital video có thể được lưu trữ (capture) và trình chiếu (play back) bằng cả hai phương pháp progressive và interlaced. Vì thế, một video được lưu trữ bằng phương pháp interlaced phải được biến đổi (convert) nếu muốn trình chiếu theo phương pháp progressive.2 Color Spaces Tất cả các ứng dụng lúc hiển thị đều phụ thuộc vào màu sắc của video và vì thế, cần có một phương thức để thu giữ và hiển thị thông tin màu sắc của đoạn video. Những đặc tính của video bao gồm độ tương phản (brightness), độ chói sáng (luminance - luma) và màu sắc được thể hiện qua các những phương thức có tên là không gian màu (color spaces). RGB Đây là không gian màu được phổ biến rộng rãi nhất và là không gian màu phù hợp nhất để lưu trữ hình ảnh.
Trong không gian màu này, màu sắc của mỗi bức ảnh được thể hiện bằng ba con số tương ứng với thành phần Đỏ (Red), Xanh lá (Green) và Xanh da trời (Blue). Kết hợp ba thành phần này với nhau bằng các giá trị khác nhau có thể tạo ra bất cứ màu sắc nào. Đồng thời, một bức ảnh cũng có thể được tách xuất ra làm ba thành phần khác nhau. Thành phần Red chỉ bao gồm những mẫu có màu đỏ, tương tự với Blue và Green.4: Ảnh gốc ban đầu.
CƠ SỞ LÝ THUYẾT Hình 2.5: Ảnh sau khi được tách xuất thành 3 channel riêng biệt. Để lưu trữ được hình ảnh trong không gian màu RGB cần lọc ra các thành phần màu đỏ, xanh lá và xanh dương của cảnh vật là lưu trữ bằng các cảm biến riêng biệt. YCrCb Không gian màu này ra đời vì bản chất hệ thị giác của con người nhạy cảm với độ chói (luminance) hơn so với màu sắc. Thay vì lưu trữ thành phần màu sắc riêng biệt và ngang bằng như trong không gian màu RGB, hình ảnh có thể được thể hiện hiệu quả hơn bằng cách tách biệt độ chói ra khỏi thông tin màu sắc.
Y:Cr:Cb là một không gian màu nổi tiếng về khả năng tái hiện màu sắc một các hiệu quả, với Y là thành phần luminance và có thể tính bằng số bình quân gia quyền (weighted average) của nhân tố R, G và B: Y = kr R + kg G + kb B (2.1) với k là trọng số (weighted factors). Thông tin màu sắc có thể được biểu diễn bằng thành phần khác biệt màu sắc (chrominance - chroma), với mỗi thành phần chrominance được tính bằng hiệu 11 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT của của R, G, B và luminance Y: Cr = R − Y Cb = B − Y (2.2) Cg = G − Y Chi tiết màu sắc hình ảnh của không gian màu này được cung cấp bởi Y, thành phần luma, và ba thành phần chroma Cr, Cb, Cg.6 dưới đây thể hiệu các thành phần luma chroma Y:Cr:Cb tương ứng của hình gốc 3.6: Ảnh sau khi được tách xuất thành 3 thành phần Y:Cr:Cb. Đến đây có thể thấy, cách thể hiện màu này có nhiều thông số hơn so với RGB vì sử dụng đến 4 thành phần thay vì chỉ 3 thành phần R, G và B.
Tuy nhiên, Cr + Cb + Cg là hằng số nên trong không gian màu Y:Cr:Cb chỉ các thành phần luma Y, red chroma Cr, blue chrom Cb được lưu trữ và truyền tải. Ưu điểm của không gian màu này là thành phần chroma có thể được hiển thị ở độ phân giải thấp hơn thành phần luma vì thị giác con người vốn nhạy cảm với luma hơn là màu sắc. Điều này mang ý nghĩa rất lớn vì có thể giảm lượng dữ liệu cần thiết cho 3 thành phần chroma mà vẫn không để lại ảnh hưởng gì đến chất lượng hình ảnh. Điều này cũng giúp cho việc mã hóa ảnh trong quá trình 12 CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT xử lý video trở nên đơn giản hơn nhưng không hề mất đi độ hiệu quả. Một bức ảnh RGB sau khi được chụp có thể được convert sang không gian màu Y:Cr:Cb để giảm thiểu dung lượng và tiêu hao truyền tải (ví dụ trường hợp truyền qua mạng internet). Trước khi hiển thị, bức ảnh sẽ lại được convert về không gian màu RGB. Công thức chuyển đổi giữa hai không gian màu như sau (1): Y = 0.4) B = Y + 1772Cb Nên nhớ G có thể được tính bằng Y:Cr:Cb nên thành phần Cg không cần phải lưu trữ và truyền tải, điều này đồng nghĩa với việc đánh đổi dung lượng lưu trữ với yêu cầu tính toán, và tối ưu dung lượng vẫn được ưu tiên hơn trong các ứng dụng ngày nay.3 Định dạng và chất lượng của video Thuật toán mã hóa video của chuẩn H.264 có khả năng mã hóa nhiều loại định dạng video frame (video frame format) khác nhau.1 dưới đây liệt kê những định dạng video trung bình (Common Intermediate Format - CIF) phổ biến.
Xếp trên chất lượng trung bình và từng có độ phổ biến rộng rãi, nhất Format Luminance Resolution Bits per frame (4:2:0, 8 bits mỗi sample) Sub-QCIF 128 x 96 147456 Quarter CIF (QCIF) 176 x 144 304128 CIF 352 × 288 1216512 4CIF 704 x 576 4866048 Bảng 2.1: CIF Video Frame Format (1) 13 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT là trong xử lí video cho thiết bị TV chính là định dạng tiêu chuẩn (Standard Definition) có tên ITU-Recommendation BT. Theo định dạng này, thành phần luminance được lấy mẫu với tần số 13.5MHz và thành phần chromi- nance là 6.75MHz để tạo thành tín hiệu 4:2:2 Y:Cr:Cb. Chất lượng cao hơn SD và hiện đang được sử dụng nhiều nhất trong các ứng dụng ngày nay đó chính là định dạng High Definition (HD).2 dưới dây liệt kê những định dạng phổ biến, dễ tương thích với các thiết bị và đặc điểm của chúng.
Format Progressive / Interlaced Horizontal Pixels Vertical Pixels Frames / Fields mỗi giây 720p Progressive 1280 720 25 frames 1080i Interlaced 1920 1080 50 fields 1080p Progressive 1920 1080 25 frames Bảng 2.2: HD Video Format (1) Với sự phát triển của công nghệ, ngày càng có nhiều định dạng HD và cao hơn được đưa ra mắt. Bản thân định dạng HD cũng được cải tiến lên tầm cao mới như 1080p60 hay 1080p120 tương ứng với số lượng frames mỗi giây (fps) lên đến 60 frames hoặc 120. Điều đó cũng dẫn đến việc những thước video ở định dạng chất lượng cao như HD 720p, 1080p hoặc cao hơn nữa sẽ tiêu tốn rất nhiều dung lượng bộ nhớ cũng như băng thông đường truyền, và việc truyền tải những video này không thông qua bước mã hóa trở nên gần như bất khả thi và thiếu thực tế. Đánh giá chất lượng của video được trình chiếu cho người dùng cũng là một vấn đề đáng lưu tâm, tuy vậy đo lường chất lượng hình ảnh là một thao tác khó khăn và nhiều khi thiếu chính xác do có nhiều nhân tố có thể ảnh hưởng đến kết quả.
Đánh giá chủ quan (Subjective quality measurement) phụ thuộc vào nhiều yếu tố chủ quan như cảm nhận người dùng, không gian, thiết bị, v. Ngược lại, phương pháp đánh giá khách quan (Objective quality measurement), có thể đưa ra những kết quả cụ thể với những tiêu chuẩn rõ ràng, tuy không thể tái hiện được cảm nhận của người xem như đánh giá chủ quan. Có nhiều thuật toán và tiêu chuẩn để đánh giá khách quan chất lượng của một thước video, và được sử dụng rộng rãi nhất để đo lường chính là Peak Signal to Noise Ratio (PSNR). Ngày nay, có rất nhiều nghiên cứu đang được tiến hành nhằm tạo ra 14 CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT một thuật toán mới có thể cải thiện được những hạn chế của PSNR, tuy vậy với đặc điểm tính toán nhanh và gọn, PSNR vẫn là một tiêu chuẩn phổ biến để so sánh chất lượng của những video trước và sau khi mã hóa. Kkhi so sánh các video với nhau, giá trị PSNR càng cao chứng tỏ chất lượng của thước video đó càng cao, công thức tính PSNR như sau: (2n − 1)2 P SN RdB = 10 log10 (2.