Giáo trình Xử lý âm thanh và hình ảnh - Các chuẩn mã hóa âm thanh và nén ảnh trong truyền thông đa phương tiện

Ảnh thứ nhất trong nhóm phải được mã hóa như ảnh loại I. Trong trường hợp này,

sau khi lấy mẫu lần đầu, tín hiệu video được truyền đến khối biến đổi DCT cho các MB

riêng, sau đó bộ lượng tử và mã hóa entropy. Tín hiệu ra từ bộ lượng tử hóa được đưa

đến bộ lượng tử hóa ngược và biến đổi DCT ngược, sau đó được lưu vào bộ nhớ ảnh.

Trong trường hợp mã hóa ảnh loại P, mạch nén chuyển động làm việc. Trên cơ sở

so sánh ảnh đang xét và ảnh trong bộ nhớ, sẽ xác định được các vector chuyển động, sau

đó dự báo ảnh. Sự chênh lệch giữa ảnh đang xét và dự báo ảnh của nó được biến đổi

DCT, lượng tử hóa và mã hóa entropy. Cũng như trong trường hợp các ảnh loại I, tín hiệu

ra từ bộ lượng tử hóa được giải lượng tử hóa và biến đổi DCT ngược rồi cộng với ảnh dự

báo đang xét và lưu vào bộ nhớ.

Tốc độ bit của tín hiệu video được nén không cố định, phụ thuộc vào nội dung

ảnh đang xét. Ngược lại, tại đầu ra bộ mã hóa, dòng bit phải cố định để xác định tốc độ

cho dung lượng kênh truyền. Do đó, tại đầu ra bộ mã hóa phải có bộ nhớ đệm đủ lớn. Bộ

mã hóa phải kiểm tra trạng thái đầy của bộ nhớ đệm. Khi số liệu trong bộ nhớ đệm gần

bằng dung lượng cực đại, thì các hệ số biến đổi DCT ngược được lượng tử hóa ít chính

xác hơn. Trong trường hợp ngược lại, có nghĩa là bộ nhớ đệm chứa số liệu quá ít, thì việc

lượng tử hóa các hệ số sẽ tăng lên

pdf25 trang | Chia sẻ: maiphuongdc | Lượt xem: 5780 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Giáo trình Xử lý âm thanh và hình ảnh - Các chuẩn mã hóa âm thanh và nén ảnh trong truyền thông đa phương tiện, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ai – DPCM. Bước cuối cùng của quá trình nén là sử dụng mã hoá entropy chẳng hạn mã hoá Huffman cho các AC và DC (sau khi đã mã hoá DPCM) để tăng thêm hiệu quả nén cũng như giảm thiểu lỗi. Ở phía giải nén, luồng bít mã hoá được giải mã entropy, sau đó mảng hai chiều các hệ số DCT đã được lượng tử hoá được giải sắp xếp Zigzag và giải lượng tử. Mảng hai chiều các hệ số DCT kết quả sẽ được biến đổi IDCT rồi cộng mỗi giá trị với 128 để xấp xỉ tạo thành các khối ảnh con kích thước 8x8. Chú ý là bảng lượng tử hoá và mã hoá entropy ở cả phía nén và giải nén là đồng nhất. Hai thành phần hiệu màu cũng được mã hoá tương tự như thành phần chói ngoại trừ khác biệt là chúng được lấy mẫu xuống hệ số 2 hoặc 4 ở cả chiều ngang và dọc trước khi biến đổi DCT. Ở phía giải nén , thành phần màu sẽ được nội suy độ chói (Y) và hiệu mầu (U, V) thành R, G và B. Quá trình nén và giải nén được mô tả theo các hình vẽ dưới đây: Hình 4.1: Sơ đồ quá trình nén ảnh theo chuẩn JPEG Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 128 Hình 4.2: Sơ đồ quá trình giải nén theo chuẩn JPEG 4.3.2. Chuẩn JPEG-2000 Chuẩn JPEG ban đầu đã thu được sự đón nhận rộng rãi và hiện tại có mặt ở khắp nơi thông qua các ứng dụng của máy tính: nó là khuôn dạng chính cho các ảnh chụp trong web toàn cầu và được sử dụng rộng rãi trong lưu trữ hình ảnh. Hơn nữa, ảnh số hóa ngày càng phổ biến với người dùng và yêu cầu chất lượng ngày càng tăng lên, vì vậy các vấn đề xử lý ảnh cũng tăng theo. Nén hình ảnh không chỉ là làm giảm dung lượng lưu trữ và các yêu cầu băng thông, mà còn cho để nguyên phép tách, ghép để sắp xếp xử lý và đáp ứng các mục tiêu trên các ứng dụng và thiết bị cụ thể. Ngoài ra, yêu cầu về hiệu suất nén tốt hơn với tỷ số nén cao đã dẫn tới sự phát triển chuẩn JPEG-2000. Hệ thống nén JPEG-2000 có tỉ lệ xuyên âm thấp hơn hẳn các chuẩn công nghệ JPEG truyền thống, cho dù JPEG-2000 không phải là một chuẩn mới hoàn toàn mà được phát triển từ các tiêu chuẩn đã có. Điều quan trọng hơn, nó cho phép tách các phân giải khác nhau, các điểm ảnh, các miền quan tâm, các thành phần và hơn nữa, tất cả chúng được đưa vào một dòng bit nén đơn. Nó cho phép một ứng dụng xử lý hoặc truyền các thông tin cần thiết cho bất kỳ một thiết bị nào, từ một ảnh nguồn đã được mã hóa theo chuẩn JPEG-2000. Tính tương thích này là một trong những ưu điểm nổi trội mà các kỹ thuật xử lý JPEG truyền thống gặp rất nhiều khó khăn. Không giống như tiêu chuẩn JPEG truyền thống, kỹ thuật mã hóa dựa trên biến đổi cosin rời rạc (DCT – Discrete Cosin Tranform) dùng mã hóa Huffman, JPEG-2000 sử dụng kỹ thuật mã hóa dạng sóng rời rạc (DWT – Descrete Wavelet Transform) dùng mã số học. Sử dụng DWT cho phép nâng cao độ phân giải tần số mang tính không gian Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 129 trong thể hiện biến đổi hình ảnh. Sơ đồ khối của quá trình nén và giải nén theo chuẩn JPEG-2000 mô tả ở hình 4.3 dưới đây: Hình 4.3: Sơ đồ quá trình nén và giải nén theo chuẩn JPEG-2000 Bước 1: Xử lý trước biến đổi Do sử dụng biến đổi Wavelet, JPEG2000 cần có dữ liệu ảnh đầu vào ở dạng đối xứng qua 0. Xử lý trước biến đổi chính là giai đoạn đảm bảo dữ liệu đưa vào nén ảnh có dạng trên. Ở phía giải mã, giai đoạn xử lý sau biến đổi sẽ trả lại giá trị gốc ban đầu cho dữ liệu ảnh. Bước 2: Biến đổi liên thành phần Giai đoạn này sẽ loại bỏ tính tương quan giữa các thành phần của ảnh. JPEG-2000 sử dụng hai loại biến đổi liên thành phần là biến đổi màu thuận nghịch (Reversible Color Transform - RCT) và biến đổi màu không thuận nghịch (Irreversible Color Transform - ICT) trong đó biến đổi thuận nghịch làm việc với các giá trị nguyên, còn biến đổi không thuận nghịch làm việc với các giá trị thực. ICT và RCT chuyển dữ liệu ảnh từ không gian màu RGB sang YCrCb. RCT được áp dụng trong cả hai dạng thức nén có tổn thất và không tổn thất, còn ICT chỉ áp dụng cho nén có tổn thất. Việc áp dụng các biến đổi này trước khi nén ảnh không nằm ngoài mục đích làm tăng hiệu quả nén. Các thành phần Cr, Cb có ảnh hưởng rất ít tới sự cảm nhận hình ảnh của mắt trong khi thành phần độ chói Y có ảnh hưởng rất lớn tới ảnh. Bước 3: Biến đổi riêng thành phần Biến đổi riêng thành phần được áp dụng trong JPEG-2000 chính là biến đổi Wavelet. Bước 4: Lượng tử hoá - Giải lượng tử hoá Các hệ số của phép biến đổi sẽ được tiến hành lượng tử hoá. Quá trình lượng tử hoá cho phép đạt tỷ lệ nén cao hơn bằng cách thể hiện các giá trị biến đổi với độ chính xác tương ứng cần thiết với mức chi tiết của ảnh cần nén. Các hệ số biến đổi sẽ được Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 130 lượng tử hoá theo phép lượng tử hoá vô hướng. Các hàm lượng tử hoá khác nhau sẽ được áp dụng cho các băng con khác nhau và được thực theo biểu thức: (4.1) với ∆ là bước lượng tử, U(x, y) là giá trị băng con đầu vào; V(x, y) là giá trị sau lượng tử hoá. Trong dạng biến đổi nguyên, đặt bước lượng tử bằng 1.Với dạng biến đổi thực thì bước lượng tử sẽ được chọn tương ứng cho từng băng con riêng rẽ. Bước lượng tử của mỗi băng do đó phải có ở trong dòng bít truyền đi để phía thu có thể giải lượng tử cho ảnh. Công thức giải lượng tử hoá là: (4.2) r là một tham số xác định dấu và làm tròn, các giá trị U(x, y); V(x, y) tương ứng là các giá trị khôi phục và giá trị lượng tử hoá nhận được. JPEG-2000 không cho trước r tuy nhiên thường chọn r = 1/2 . Bước 5: Mã hoá JPEG-2000 theo khuyến nghị của uỷ ban JPEG quốc tế có thể sử dụng nhiều phương pháp mã hoá khác nhau cũng như nhiều cách biến đổi Wavelet khác nhau để có thể thu được chất lượng ảnh tương ứng với ứng dụng cần xử lý. Điều này giúp cho JPEG- 2000 mềm dẻo hơn nhiều so với JPEG. Việc áp dụng các phương pháp mã hoá khác nhau cũng được mở rộng sang lĩnh vực nén ảnh động bằng biến đổi Wavelet. Trong thực tế các phương pháp mã hoá ảnh được áp dụng khi nén ảnh bằng biến đổi Wavelet cũng như JPEG-2000 thì có hai phương pháp được coi là cơ sở và được áp dụng nhiều nhất: phương pháp SPIHT và phương pháp EZW (Embedded Zerotree Wavelet Encoder). JPEG-2000 là một chuẩn nén có thể tạo ra khả năng nén ảnh tốt hơn đáng kể so với JPEG. Với cùng chất lượng hình ảnh, thông thường JPEG-2000 có thể nén ảnh gấp ít nhất là 2 lần so với JPEG. Với tỷ số nén cao, chất lượng của hình ảnh giảm ít hơn. Tuy nhiên điều này cũng đồng nghĩa với việc tăng độ phức tạp và các yêu cầu lưu trữ trong quá trình mã hóa và giải mã. Một tác động khác của điều này là những hình ảnh có thể tốn mất nhiều thời gian hơn khi lưu trữ và hiển thị. 4.4. Các chuẩn nén Video MPEG-1, 2, 4, 7 và MPEG-21 4.4.1. Tổng quan về MPEG MPEG (Moving Picture Expert Group) được ra đời vào năm 1988 nhằm mục đích chuẩn hoá cho nén tín hiệu âm thanh và video. Nén tín hiệu video theo chuẩn MPEG là phương pháp nén ảnh động không những làm giảm dư thừa không gian (như JPEG) mà còn làm giảm dư thừa thời gian giữa các khung ảnh, đây là khác biệt so với JPEG. Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 131 MPEG không phải là một công cụ nén đơn lẻ mà ưu điểm của nén ảnh dùng MPEG chính là ở chỗ MPEG có một tập hợp các công cụ mã hoá chuẩn, chúng có thể được kết hợp vói nhau một cách linh động để phục vụ cho một loạt các ứng dụng khác nhau. Nén MPEG là sự kết hợp hài hoà của bốn kỹ thuật cơ bản: Tiền xử lý (Preprocessing), đoán trước sự chuyển động của các frame ở bộ mã hoá (temporal prediction), bù chuyển động ở bộ giải mã (motion compensation) và mã lượng tử hoá (quatisation coding). Các bộ lọc tiền xử lý sẽ lọc ra những thông tin không cần thiết từ tín hiệu video và những thông tin khó mã hoá nhưng không quan trọng cho sự cảm thụ của mắt người. Kỹ thuật đoán chuyển động dựa trên nguyên tắc là các ảnh trong chuỗi video dường như có liên quan mật thiết với nhau theo thời gian: Mỗi frame tại một thời điểm nhất định sẽ có nhiều khả năng giống với các frame đứng ngay phía trước và ngay phía sau nó. Các bộ mã hoá sẽ tiến hành quét lần lượt từng phần nhỏ trong mỗi frame gọi là macro blocks, sau đó nó sẽ phát hiện macro block nào không thay đổi từ frame này tới frame khác. Bộ mã hoá sẽ tiên đoán trước sự xuất hiện của các macro blocks khi biết vị trí và hướng chuyển động của nó. Do đó chỉ những sự thay đổi giữa các khối trong frame hiện tại (motion compesated residual) và các khối được tiên đoán mới được truyền tới bên phía thu. Phía bên thu tức bộ giải mã đã lưu trữ sẵn những thông tin mà không thay đổi từ frame này tới frame khác trong bộ nhớ đệm của nó và chúng được dùng để điền thêm một cách đều đặn vào các vị trí trống trong ảnh được khôi phục. Nén tín hiệu video được thực hiện nhờ việc loại bỏ cả sự dư thừa về không gian (spatial coding) và thời gian (temporal coding). Trong MPEG, việc loại bỏ dư thừa về thời gian (nén liên ảnh) được thực hiện trước hết nhờ sử dụng các tính chất giống nhau giữa các ảnh liên tiếp (Inter-frame techniques). Chúng ta có thể sử dụng tính chất này để tạo ra các bức ảnh mới nhờ vào những thông tin từ những ảnh đã gửi trước nó (“predicted”). Do vậy ở phía bộ mã hoá, ta chỉ cần gửi những bức ảnh có thay đổi so với những ảnh trước, sau đó ta lại dùng phương pháp nén về không gian để loại bỏ sự dư thừa về không gian trong chính bức ảnh sai khác này. Nén về không gian dựa trên nguyên tắc là phát hiện sự giống nhau của các điểm ảnh (pixels) lân cận nhau (Intra-frame coding techniques). JPEG chỉ áp dụng phương pháp nén theo không gian vì nó được thiết kế để xử lý và truyền các ảnh tĩnh. Tuy nhiên nén tín hiệu theo phương pháp của JPEG cũng có thể được dùng để nén các bức ảnh một cách độc lập trong dãy tín hiệu video. ứng dụng này thường được gọi là JPEG động (Motion JPEG). Trong một chu kỳ gửi một dãy các bức ảnh theo kiểu JPEG động, ảnh đầu tiên được nén nhờ sự loại bỏ độ dư thừa về không gian, sau đó các ảnh tiếp theo được nén nhờ sự loại bỏ độ dư thừa về thời gian (nén liên ảnh). Quá trình được lặp đi lặp lại cho một dãy các bức ảnh trong tín hiệu video. Thuật toán nén MPEG cũng dựa trên phép biến đổi DCT cho các khối ảnh 8x8 picxels để tìm ra sự thừa về không gian một cách có hiệu quả giữa các điểm ảnh trong cùng một bức ảnh. Tuy nhiên, trong trường hợp có mối tương quan chặt chẽ giữa các điểm ảnh trong các bức ảnh kế tiếp nhau tức là trong trường hợp hai bức ảnh liên tiếp có nội dung trùng nhau, kỹ thuật Inter-frame coding techniques sẽ được dùng cùng với việc tiên đoán sự dư thừa về không gian để tạo thành kỹ thuật tiên đoán bù chuyển động giữa Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 132 các bức ảnh (Motion compesated prediction between frames). Trong nhiều sơ đồ nén MPEG, người ta thường kết hợp cả việc tiên đoán bù chuyển động theo thời gian và phép biến đổi thông tin theo không gian để đạt hiệu quả nén cao (Hybrid DPCM/DCT coding of video). Hầu hết các sơ đồ nén MPEG đều dùng kỹ thuật lấy mẫu bổ xung (Subsampling) và lượng tử hoá (Quantization) trước khi mã hoá. Lấy mẫu bổ xung nhằm mục đích để làm giảm kích thước bức ảnh đầu vào theo cả theo chiều ngang và chiều dọc, như vậy sẽ giảm số lượng các điểm ảnh trước mã hoá. Cũng nên nhớ rằng trong một số trường hợp người ta còn lấy mẫu bổ xung theo thời gian để làm giảm số lượng các bức ảnh trong dãy ảnh trước khi mã hoá. Đây được xem như là một kỹ thuật rất cơ bản nhằm loại bỏ sự dư thừa dựa vào khả năng lưu ảnh của mắt người cảm thụ. Thường thường, chúng ta có thể phân biệt sự thay đổi về độ sáng của ảnh (changes in Brightness) tốt hơn so với sự thay đổi về màu (Chromaticity changes). Do đó trước hết các sơ đồ nén MPEG sẽ tiến hành chia bức ảnh thành các thành phần Y (độ chói) và U, V (các thành phần hiệu mầu). Các tín hiệu video thành phần này sẽ được lấy mẫu (samples) và số hoá (digitised) để tạo nên các điểm ảnh rời rạc theo tỷ lệ 4:2:2 và 4:2:0. Kỹ thuật tiên đoán bù chuyển động được sử dụng như là một trong những công cụ mạnh để làm giảm sự dư thừa về không gian giữa các bức ảnh. Khái niệm về bù chuyển động là dựa trên sự phán đoán hướng chuyển động của các bức ảnh tức là các ảnh thành phần trong dãy video sẽ được thay thế gần đúng. Kỹ thuật tiên đoán bù chuyển động giữa các bức ảnh được xem như là biện pháp để hạn chế bớt các thông số của chuyển động bởi việc dùng các vector chuyển động để mô tả sự dịch chuyển của các điểm ảnh. Kết quả tiên đoán tốt nhất của một điểm ảnh là dựa trên sự tiên đoán bù chuyển động từ một bức ảnh đã mã hoá được truyền phía trước của nó. Cả hai thông số, sai số chuyển động (biên độ) và các vectors chuyển động (hướng chuyển động) đều được truyền tới phía bên nhận. Tuy nhiên do có mối quan hệ tương quan chặt chẽ giữa các điểm ảnh về không gian (trùng về không gian), một vector chuyển động có thể được dùng cho một khối các điểm ảnh gồm các pixels lân cận nhau (MPEG -1 và MPEG -2 dùng các khối 16 x16 pixels). 4.4.2. Cấu trúc dòng bít Để tạo khả năng chống lỗi khi truyền tín hiệu qua kênh có nhiễu, bộ ước đoán phải được xác lập lại (reset) thường xuyên và mỗi ảnh nén trong khung hay nén ước đoán được phân đoạn thành nhiều lát nhỏ (slice) cho việc tái đồng bộ tại bộ giải mã phía thu. Cấu trúc dòng MPEG gồm 6 lớp: lớp dãy ảnh (sequence), lớp nhóm ảnh (GOP), lớp ảnh (pictrue), lớp cắt lát dòng bit (slice), lớp macroblock, lớp khối (Block). Mỗi lớp này hỗ trợ một chức năng nhất định: một là chức năng xử lý tín hiệu (DCT, bù chuyển động) hai là chức năng logic (tái đồng bộ, điểm truy xuất ngẫu nhiên). Quá trình tạo ra dòng bit MPEG là ghép kênh: kết hợp các dòng dữ liệu vào, dòng dữ liệu ra, điều chỉnh đồng bộ và quản lý bộ đệm. Cú pháp dòng MPEG bao gồm: lớp dòng bit (stream), lớp gói (pack) và lớp gói tin (packet) như trong hình 4.5. Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 133 1. Khối: Khối 8x8 các điểm ảnh tín hiệu chói và tín hiệu màu dùng cho phương pháp nén DCT. 2. Tổ hợp cấu trúc khối (macroblock): một cấu trúc khối là một nhóm các khối tương ứng với lượng thông tin chứa đựng trong kích thước 16x16 điểm trên bức ảnh. Cấu trúc khối này cũng xác định lượng thông tin chứa trong đó sẽ thay đổi tùy theo cấu trúc mẫu được sử dụng. Thông tin đầu tiên trong cấu trúc khối mang dạng của nó (là cấu trúc khối Y hay Cr, Cb) và các vector bù chuyển động tương ứng. 3. Mảng (Slice): mảng bao gồm một vài cấu trúc khối kề nhau. Kích thước lớn nhất của mảng có thể bao gồm toàn bộ bức ảnh và kích thước nhỏ nhất của mảng là một cấu trúc khối. Thông tin đầu của mảng chứa đựng vị trí của mảng trong toàn bộ ảnh, và hệ số cân bằng lượng tử. 4. Ảnh (Picture): lớp ảnh cho phép bộ giải mã xác định loại của ảnh được mã hóa. Thông tin đầu dùng để chỉ thứ tự truyền khung để bộ giải mã có thể sắp xếp các ảnh lại theo một thứ tự đúng. Trong thông tin đầu của ảnh còn chứa các thông tin về đồng bộ, độ phân giải và phạm vi của vector chuyển động. Trong MPEG, có 3 loại ảnh khác nhau được dùng để mã hoá cho các khối ảnh: • Kiểu ảnh ‘Intra’ (I-pictures) là ảnh được mã hoá một cách độc lập mà không cần tham khảo tới các ảnh khác. Hiệu quả nén tín hiệu đạt được do loại bỏ sự thừa về không gian mà không có yếu tố thời gian tham gia vào quá trình. I-pictures được dùng một cách tuần hoàn để tạo thành các điểm tựa cho dòng dữ liệu trong quá trình giải mã. • Ảnh ‘Predictive’ (P-pictures) có thể sử dụng các ảnh I hoặc P ngay sát phía trước nó để bù chuyển động và chính nó cũng có thể được dùng để tham khảo cho việc tiên đoán các ảnh khác tiếp theo. Mỗi khối ảnh trong P-picture có thể hoặc được mã theo kiểu tiên đoán (predicted) hoặc được mã một cách độc lập (intra-coded). Do sử dụng cả nén theo không gian và thời gian, hiệu quả nén của P-pictures được tăng lên một cách đáng kể so với I-pictures. • Ảnh ‘Bidirectionally-Predictive’ pictures hay B- Pictures có thể sử dụng các ảnh I hoặc P phía trước hoặc phía sau nó cho việc bù chuyển động và do vậy cho kết quả nén cao nhất. Mỗi khối trong B-pictures có thể được tiên đoán theo chiều ngược, xuôi, cả hai hướng hoặc được mã một cách độc lập. Để có thể tiên đoán ngược từ một bức ảnh phía sau nó, bộ mã hoá sẽ tiến hành sắp xếp lại các bức ảnh từ thứ tự xuất hiện một cách tự nhiên sang một thứ tự khác của các ảnh trên đường truyền. Do vậy từ đầu ra của bộ mã hoá, B-pictures được truyền sau các ảnh dùng để tham khảo ở phía trước và phía sau của nó. Điều này sẽ tạo ra độ trễ do phải sắp xếp lại thông tin, độ trễ này lớn hay nhỏ là tuỳ thuộc vào số các bức ảnh B-pictures liên tiếp nhau được truyền. 5. Nhóm ảnh (GOP): Các ảnh I, P, B-pictures thường xuất hiện theo một thứ tự lặp đi lặp lại một cách tuần hoàn, do đó ta có khái niệm về nhóm các bức ảnh GOP (Group of Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 134 Pictures). Đối với chuẩn nén MPEG, chất lượng ảnh không những phụ thuộc vào tỷ lệ nén trong từng khuôn hình mà còn phụ thuộc vào độ dài của nhóm ảnh GOP. Nhóm ảnh là khái niệm cơ bản của MPEG, nó là đơn vị mang thông tin độc lập của MPEG. GOP bắt buộc phải bắt đầu bằng một ảnh I cho phép xác định điểm bắt đầu để tìm kiếm và biên tập (thông tin đầu gồm 25 bit chứa mã định thời và điều khiển) và tiếp sau nó là một loại các ảnh P và B. Một ví dụ của GOP ở dạng ảnh tự nhiên xuất hiện theo thứ tự như sau: B1 B2 I3 B4 B5 B7 B8 P9 B10 B11 P12 Thứ tự xuất hiện của chúng trên đường truyền bị thay đổi do sự sắp xếp lại của bộ mã hoá như sau: I3 B1 B2 P6 B4 B5 P9 B7 B8 P12 B10 B11 Cấu trúc của một GOP có thể được mô tả bởi hai tham số: N là số các ảnh trong GOP và M là khoảng cách giữa các ảnh P-pictures. Nhóm GOP này được miêu tả như N = 12 và M = 3. 6. Đoạn (chương trình) video: đoạn video bao gồm thông tin đầu, một số nhóm ảnh và thông tin kết thúc đoạn. Thông tin đầu của đoạn video chứa đựng kích thước mỗi chiều của ảnh, kích thước của điểm ảnh, tốc độ bit của dòng video số, tần số ảnh và bộ đệm tối thiểu cần có. Đoạn video và thông tin đầu tạo thành một dòng bit được mã hóa gọi là dòng cơ bản (Elementary Stream). Hình 4.4: Cấu trúc dòng bit MPEG Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 135 Hình 4.5: Kiến trúc dòng dữ liệu MPEG 4.4.3. Nguyên lý hoạt động Hoạt động của bộ mã hóa, phụ thuộc vào loại hình ảnh, là mã hóa tại thời điểm đang xét. Quá trình nén theo chuẩn MPEG là sự kết hợp giữa nén trong ảnh và nén liên ảnh. Tín hịeu đầu vào có dạng 4:2:2 hoặc 4:2:0 được nén liên ảnh nhằm tạo ra ảnh khác biệt ở đầu ra bộ cộng. Ảnh khác biệt này sau đó được nén trong ảnh qua các bước: biến Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 136 đổi DCT, lượng tử hóa, mã hóa. Cuối cùng ảnh này được trộn cùng với vector chuyển động đưa đến bộ khuyếch đại đệm sẽ thu được ảnh đã nén. Ta xét ví dụ bộ nén theo phương pháp trên, dùng ảnh I và P trong cấu trúc GOP (Hình 4.6). Ảnh thứ nhất trong nhóm phải được mã hóa như ảnh loại I. Trong trường hợp này, sau khi lấy mẫu lần đầu, tín hiệu video được truyền đến khối biến đổi DCT cho các MB riêng, sau đó bộ lượng tử và mã hóa entropy. Tín hiệu ra từ bộ lượng tử hóa được đưa đến bộ lượng tử hóa ngược và biến đổi DCT ngược, sau đó được lưu vào bộ nhớ ảnh. Trong trường hợp mã hóa ảnh loại P, mạch nén chuyển động làm việc. Trên cơ sở so sánh ảnh đang xét và ảnh trong bộ nhớ, sẽ xác định được các vector chuyển động, sau đó dự báo ảnh. Sự chênh lệch giữa ảnh đang xét và dự báo ảnh của nó được biến đổi DCT, lượng tử hóa và mã hóa entropy. Cũng như trong trường hợp các ảnh loại I, tín hiệu ra từ bộ lượng tử hóa được giải lượng tử hóa và biến đổi DCT ngược rồi cộng với ảnh dự báo đang xét và lưu vào bộ nhớ. Tốc độ bit của tín hiệu video được nén không cố định, phụ thuộc vào nội dung ảnh đang xét. Ngược lại, tại đầu ra bộ mã hóa, dòng bit phải cố định để xác định tốc độ cho dung lượng kênh truyền. Do đó, tại đầu ra bộ mã hóa phải có bộ nhớ đệm đủ lớn. Bộ mã hóa phải kiểm tra trạng thái đầy của bộ nhớ đệm. Khi số liệu trong bộ nhớ đệm gần bằng dung lượng cực đại, thì các hệ số biến đổi DCT ngược được lượng tử hóa ít chính xác hơn. Trong trường hợp ngược lại, có nghĩa là bộ nhớ đệm chứa số liệu quá ít, thì việc lượng tử hóa các hệ số sẽ tăng lên. Hình 4.6: Bộ mã hóa MPEG tiêu biểu Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 137 Quá trình giải mã: Theo lý thuyết, quá trình giải mã là ngược lại với quá trình mã hóa và được minh họa trên hình 4.7. Hình 4.7: Bộ giải mã MPEG tiêu biểu Chuỗi tín hiệu vào được giải mã entropy tại VLD (Variable-Length Decoder). Sau đó tách số liệu ảnh (hệ số biến đổi DCT) ra khỏi các vector chuyển động. Số liệu sẽ được giải lượng tử hóa và biến đổi DCT ngược. Trong trường hợp ảnh loại I bắt đầu ở mỗi nhóm ảnh trong chuỗi, sẽ nhận được ảnh đầu ra hoàn chỉnh bằng cách trên. Nó được lưu trong bộ nhớ ảnh và được sử dụng để giải mã các ảnh tiếp theo. Trong trường hợp ảnh loại P sẽ thực hiện giải lượng tử và biến đổi DCT ngược với việc sử dụng các vector chuyển động và ảnh lưu vào bộ nhớ ảnh. Trên cơ sở đó xác định được dự báo ản đang xét. Ta nhận được ảnh ra sau khi cộng dự báo ảnh và kết quả biến đổi DCT ngược. Ảnh này cũng được lưu vào bộ nhớ để có thể sử dụng như là chuẩn khi giải mã các ảnh tiếp theo. 4.4.4. Các chuẩn nén MPEG 4.4.4.1. MPEG-1 Chuẩn đầu tiên được đưa ra bởi MPEG, có tên gọi phổ biến là MPEG-1, được thiết kế để cung cấp việc nén video và audio cho việc lưu trữ và phát lại trên các CD-ROM. Chuẩn MPEG-1 bao gồm 3 phần. Phần 1 đề cập tới các vấn đề hệ thống (bao gồm cả ghép kênh video và audio đã mã hóa), phần 2 đề cập tới video nén và phần 3 là về audio nén. Phần 2 (video) được phát triển với mục đích hỗ trợ việc mã hóa có hiệu quả video cho các ứng dụng phát lại trên CD và tạo ra chất lượng video tương đương hoặc tốt hơn băng video VHS về tốc độ bit CD (khoảng 1,2 Mbps đối với video). Khi mà hầu hết các ứng dụng của người tiêu dùng đòi hỏi chỉ cần giải mã và phát lại, không bao gồm mã hóa thì nảy sinh yêu cầu phải tối thiểu hóa sự phức tạp trong giải mã. Do đó, quá trình Xử lý âm thanh và hình ảnh Chương 4: Các chuẩn mã hóa âm thanh… 138 giải mã của MPEG-1 có thể xem là đơn giản hơn so với mã hóa (không giống như JPEG, bộ mã hóa và giải mã có mức độ phức tạp tương tự nhau). Các đặc tính của MPEG-1 Tín hiệu video đầu vào tới một bộ mã hóa video MPEG-1 có khuôn dạng là 4:2:0 (Y:Cr:Cb) với độ phân giải không gian thông thường là 352×288 hoặc 352×240 pixels. Mỗi khung video được xử lý theo từng khối của một macroblock, tương ứng với một vùng 16×16 pixel trong khung hiển thị. Vùng này được tạo ra từ 16×16 mẫu độ sáng, 8×8 mẫu Cr và 8×8 mẫu Cb (vì Cr và Cb phải bằng một nửa độ phân giải ngang và dọc của thành phần độ sáng). Một macroblock bao gồm 6 khối 8×8: 4 khối độ sáng (Y), một khối Cr và một khối Cb. Mỗi khung video được mã hóa để tạo ra một bức ảnh mã hóa. Có 3 loại chính: các ảnh I, các ảnh P và các ảnh B. (Chuẩn này còn xác định thêm một loại ảnh là ảnh D nhưng loại này hiếm khi sử dụng trong các ứng dụng thực tế). Ảnh loại I: không có dự đoán bù chuyển động. Ảnh loại I được sử dụng để làm tham khảo cho những ảnh dự đoán xa hơn. Ảnh loại P: sử dụng dự đoán bù chuyển động từ một ảnh tham khảo (ảnh P hoặc ảnh I có trước ảnh P hiện tại). Do đó một ảnh loại P được dự đoán sử dụng dự đoán chuyển tiếp và bản thân một ảnh P có thể được sử dụng làm tham khảo cho các ảnh dự đoán xa hơn. Ảnh loại B: sử dụng dự đoán bù chuyển động từ 2 ảnh tham khảo, ảnh P và/hoặc ảnh I trước và sau ảnh B hiện tại. Hai vectơ chuyển động được tạo ra cho mỗi macroblock trong một ảnh B: một chỉ tới một vùng thích hợp trong ảnh tham khảo trước đó (một vectơ chuyển tiếp) và một chỉ tới một vùng thích hợp trong ảnh tham khảo tương lai (vectơ hồi tiếp). Một macroblock dự đoán bù chuyển động có thể được thực hiện theo 3 cách: dự đoán chuyển tiếp sử dụng vecto chuyển tiếp, dự đoán hồi tiếp sử dụng vecto hồi tiếp hoặc dự đoán hai chiều (trong đó sự tham khảo dự đoán được thực hiện bằng cách lấy trung bình các tham khảo dự đoán chuyển tiếp và hồi tiếp). Thông thường, một bộ mã hóa sẽ chọn một chế độ dự đoán (chuyển tiếp, hồi tiếp hay hai chiều) sao cho tạo ra được năng lượng thấp nhất trong macroblock sai phân. Bản thân các ảnh loại B không được sử dụng như các tham khảo dự đoán cho bất kỳ khung dự đoán xa hơn nào. Chuẩn MPEG-1 không thực sự định nghĩa thiết kế của một bộ mã hóa: thay vào đó, chuẩn này mô tả cú pháp mã hóa và một bộ giải mã ‘tham khảo’ giả thuyết. Trong thực tế, cú pháp và chức năng được mô tả bởi chuẩn có ý nghĩa rằng một bộ mã hóa phải chứa những chức năng nhất định. 4.4.4.2. MPEG-2 Ứng dụng giải trí quan trọng tiếp theo của video mã hóa (sau lưu trữ CD-ROM) là truyền hình số. Để cu

Các file đính kèm theo tài liệu này:

  • pdfchuong_4_200610_revised_4699.pdf