Phương pháp mã hóa video theo đối tượng ứng dụng trong các hệ thống thông tin video
Trang 1Phương pháp mã hóa video theo đối tượng ứng dụng trong các hệ thống
thông tin video nén
MỤC LỤC Chương 1 : Tổng quan về mã hóa video
1.1 Mục đích nghiên cứu video nén theo hướng đối tượng
1.2 Tổng quan về các chuẩn nén
1.3 Kĩ thuật mã hóa video nén theo hướng đối tượng MPEG-4 và ưu điểm
Chương 2: Công nghệ mã hóa video trong MPEG-4
2.1 Mã hoá hình dạng ngoài (Shape Coder)
2.1.1 Biến đổi Cosin rời rạc ( DCT)
2.2.3 Kỹ thuật chuyển động cơ bản
2.2.3.1 Kỹ thuật thay đổi từng khối thích ứng với cấu trúc đa cạnh của VOP
2.2.3.2 Ước lượng chuyển động của điểm ảnh
2.2.3.3 Chế độ INTRA / INTER
2.2.3.4 Tìm kiếm nửa điểm ảnh
2.2.3.5 Dự đoán MV
2.2.3.6 Chế độ vector chuyển động không giới hạn
2.2.3.7 Chế độ nâng cao chất lượng dự đoán
2.3 Mã hóa cấu trúc
2.4 Giải mã MPEG-4 VOP
2.5 Mã hóa theo lớp video
2.6 Đánh giá hiệu quả
2.7 Điều khiển tốc độ
Chương 3: Ứng dụng
Trang 3Lời nói đầu
Với sự phát triển của công nghệ thông tin, và cùng với đó là sự phát triển
ngày càng mạnh mẽ của các ứng dụng truyền thông đa phương tiện , đòi hỏi con
người không ngừng tìm tòi sáng tạo để đáp ứng kịp với xu thế phát triển ấy Nhờ
vào sự phát triển của các ứng dụng truyền thông đa phương tiện mà chúng ta có
thể đưa âm thanh, hình ảnh, hay các đoạn video đi xa một cách nhanh chóng và
thuận tiện Song với việc truyền tải một đoạn video có dung lượng lớn đi xa gặp
khá nhiều khó khăn bởi khả năng có hạn của kênh dẫn.Vì vậy các nhà sản xuất
đã áp dụng một số kỹ thuật nén để giúp tối ưu hóa các đoạn video trên, làm giảm
dung lượng phải truyền đi mà chất lượng hình ảnh tương đương với hình ảnh
gốc Một trong các kỹ thuật nén được sử dụng rộng rãi đó là kỹ thuật nén chuyển
động mà tiêu biểu là chuẩn nén MPEG Qua quá trình nghiên cứu các chuyên
gia đã cho ra đời chuẩn nén MPEG-4 với nhiều tính năng ưu việt và nó đã nhanh
chóng được ứng dụng rộng rãi trong hệ thống thông tin video nén MPEG-4 sử
dụng một phương pháp mã hóa video theo từng đối tượng thay vì mã hóa toàn
bộ cả một đoạn video, vì vậy dung lượng video được giảm đi đáng kể mà chất
lượng lại không có nhiều thay đổi
Vì vậy chúng tôi đã chọn đề tài nghiên cứu “Phương pháp mã hóa
video theo đối tượng ứng dụng trong các hệ thống thông tin video nén” để đi
sâu tìm hiểu kỹ thuật mã hóa trong chuẩn nén MPEG-4 này
Đề tài nghiên cứu được chia làm 3 phần
Chương 1: tổng quan về video
Chương 2: công nghệ mã hóa video trong MPEG-4
Chương 3: các ứng dụng
Chúng tôi xin gửi lời cảm ơn tới thầy giáo đã hướng dẫn và giúp đỡ
chúng tôi thực hiện đề tài này Và chúng tôi cũng xin gửi lời cảm ơn tới thầy cô
giáo trong bộ môn Kỹ Thuật Thông Tin và các bạn cùng lớp đã giúp đỡ chúng
Trang 4tôi trong việc tìm kiếm thông tin, tài liệu và các giáo trình tham khảo trong suốt
quá trình thực hiện đề tài này
Chúng tôi rất mong nhận được ý kiến đóng góp của thầy cô giáo và các
bạn sinh viên để cho đề tài nghiên cứu được hoàn thiện hơn
Chương 1 : Tổng quan về mã hóa video
1.1 Mục đích nghiên cứu video nén theo hướng đối tượng
Tại sao chúng ta cần phải nén video ?
Để xem được 1 đoạn video có chất lượng cao mà dung lượng không quá lớn
là 1 điều rất quan trọng và cần thiết Đó chính là lí do cần phải sử dụng 1 công
cụ nén video nhằm giảm tối đa dung lượng của đoạn video mà chất lượng vẫn
đáp ứng được yêu cầu
Nhu cầu truyền phát các dịch vụ Multimedia mới trên hạ tầng kỹ thuật mạng
Internet đã làm nảy sinh các yêu cầu chức năng không có trong các chuẩn
MPEG-1, MPEG-2,H.26X và các chuẩn nén video trước đó Sự xuất hiện của
chuẩn MPEG-4 (10/1998) và H264 đã tạo ra một phương thức thiết lập và tương
tác mới với truyền thông nghe nhìn trên mạng internet, tạo ra một phương thức
sản xuất, cung cấp và ứng dụng mới các nội dung video trên cơ sở nội dung và
hướng đối tượng (content/object-based) Đây chính là một công nghệ trình diễn
truyền thông đa phương tiện phức hợp, có khả năng truyền thông trong các môi
trường băng thông rất khác nhau nhờ kết hợp tốt 3 môi trường: Truyền hình số,
đồ hoạ tương tác và World Wide Web
1.2 Tổng quan về các chuẩn nén
Hiệp hội viễn thông quốc tế (ITU) và tổ chức tiêu chuẩn quốc tế/ Uỷ ban kỹ
thuật điện tử quốc tế (ISO/IEC) là hai tổ chức phát triển các tiêu chuẩn mã hoá
Video Theo ITU-T, các tiêu chuẩn mã hoá Video được coi là các khuyến nghị
Trang 5gọi tắt là chuẩn H.26x (H.261, H.262, H.263 và H.264) Với tiêu chuẩn
ISO/IEC, chúng được gọi là MPEG-x (như MPEG-1, MPEG-2 và MPEG-4)
MPEG hay gọn hơn là MPG có xuất xứ từ Moving Picture Experts Group
(Nhóm các chuyên gia điện ảnh) Tổ chức ra đời hồi năm 1988 này chuyện phát
triển các tiêu chuẩn về cái vụ nén phim số (digital video) và âm thanh số (digital
audio) Nó hoạt động dưới sự “đỡ đầu” của Tổ chức Quốc tế về Tiêu chuẩn hóa
(ISO) Mpeg-4 là chuẩn cho các ứng dụng MultiMedia Mpeg-4 trở thành một
tiêu chuẩn cho nén ảnh kỹ thuật truyền hình số, các ứng dụng về đồ hoạ và
Video tương tác haichiều(Games,Videoconferencing) và các ứng dụng
Multimedia tương tác hai chiều (World Wide Web hoặc các ứng dụng nhằm
phân phát dữ liệu Video như truyền hình cáp, Internet Video ) Mpeg-4 đã trở
thành một tiêu chuẩn công nghệ trong quá trình sản xuất, phân phối và truy cập
vào các hệ thống Video Nó đã góp phần giải quyết vấn đề về dung lượng cho
các thiết bị lưu trữ, giải quyết vấn đề về băng thông của đường truyền tín hiệu
Video hoặc kết hợp cả hai vấn đề trên
Với MPEG-4, các đối tượng khác nhau trong một khung hình có thể được
mô tả, mã hoá và truyền đi một cách riêng biệt đến bộ giải mã trong các dòng cơ
bản ES (Elementary Stream) khác nhau Cũng nhờ xác định, tách và xử lý riêng
các đối tượng (như nhạc nền, âm thanh xa gần, đồ vật, đối tượng ảnh video như
con người hay động vật, nền khung hình …), nên người sử dụng có thể loại bỏ
riêng từng đối tượng khỏi khuôn hình Sự tổ hợp lại thành khung hình chỉ được
thực hiện sau khi giải mã các đối tượng này
H.264 ( MPEG-4 AVC hay MPEG-4 part 10), hiện đang là phương thức tiên
tiến nhất trong lĩnh vực nén video H.264 cho chất lượng hình ảnh tốt nhất khi
có cùng dung lượng so với các chuẩn nén khác H.264 cũng được ứng dụng như
thuật nén chính trong video độ phân giải cao (HD)
Mục tiêu chính của chuẩn nén H.264 đang phát triển nhằm cung cấp Video
có chất lượng tốt hơn nhiều so với những chuẩn nén Video trước đây Điều này
có thể đạt được nhờ sự kế thừa các lợi điểm của các chuẩn nén Video trước đây
Trang 6Không chỉ thế, chuẩn nén H.264 còn kế thừa phần lớn lợi điểm của các tiêu
chuẩn trước đó là H.263 và MPEG-4
Trong đề tài này chúng tôi xin phép được trình bày kĩ thuật mã hóa video
nén theo hướng đối tượng MPEG-4 mà hiện nay đang đuợc sử dụng rất nhiều
như 1 công cụ mã hóa với nhiều tính năng ưu việt
1.3 Kĩ thuật mã hóa video nén theo hướng đối tượng MPEG-4 và ưu
điểm của nó
MPEG-4 được coi là một cuộc cách mạng mới trong media số Nó là chuẩn
multimedia toàn cầu thế hệ kế tiếp Nó được thiết kế để truyền tải video với chất
lượng DVD (MPEG-2) qua mạng MPEG-4 có khả năng nén cao và tối ưu hóa
được dung lượng băng thông cũng như dung lượng file lưu trữ mà lại đưa ra chất
lượng video chập nhận được
MPEG-4 có phương thức mã hóa và nén video hoàn toàn tối ưu hơn các
chuẩn khác trước nó đó là việc chia nhỏ mỗi lớp video thành các đối tượng riêng
biệt,Thay vì thực hiện truyền tải tất cả các lớp video như ở 2 thì
MPEG-4 chỉ truyền đi sự thay đổi trong mỗi đối tượng đã được tách ra.MPEG-MPEG-4 ra đời
với khá nhiều tính năng ưu việt:
1.3.1 Tính mềm dẻo và có khả năng nâng cấp
Các nhà thiết kế bộ mã hoá MPEG phải đối mặt với rất nhiều vấn đề, nhưng
vấn đề quan trọng nhất là làm sao thiết kế được một thuật toán nén mềm dẻo và
có khả năng nâng cấp được trong tương lai Họ thường mong muốn có được các
bộ mã hoá MPEG thích hợp cho nhiều ứng dụng, từ TV màn ảnh rộng, chất
lượng cao tới các hệ thống nhỏ, tín hiệu video đen trắng cho các hệ thống
camera an ninh Hiển nhiên là một hệ thống nén thiết kế dành cho các phim màn
ảnh rộng phải có phần cứng mạnh, bộ nhớ lớn hơn là một hệ thống được thiết kế
cho hệ thống camera dành cho mục đích an ninh.Các nhà thiết kế giải quyết vấn
đề này bằng cách định nghĩa "Level" và "Profile" cho hệ thống Các "Level" xác
định giới hạn năng lực xử lý của phần cứng và bộ nhớ cần thiết để mã hoá tín
Trang 7hiệu Các "Profile" xác định độ phức tạp của quá trình mã hoá và giải mã.Đối
với MPEG-4 thì có 19 profile (nhưng đối với H.264 chỉ có 3 profile)
Về khả năng nâng cấp của bộ mã hoá MPEG, họ thiết kế theo hai bước
Bước thứ nhất là thay cho xác định chỉ tiêu của bộ mã hoá và giải mã, họ xác
định loại tín hiệu nằm giữa hai thiết bị này Bước thứ hai là thực hiện các cải
tiến trong bộ mã hoá và giải mã mới sao cho nó tương thích với các chuẩn cũ
(backward compatible).Chuẩn MPEG có các qui tắc và giao thức cho tín hiệu
truyền giữa bộ mã hoá và giải mã Các quy tắc này, thực chất giống như là một
loại ngôn ngữ dành riêng cho bộ mã hoá và giải mã Các bộ mã hoá tương thích
phải có khả năng “nói” được ngôn ngữ này Các bộ giải mã tương thích phải có
khả năng hiểu được toàn bộ các "từ vựng" mà bộ mã hoá đã phát ra trong một
ngữ cảnh nhất định.MPEG-4 thực hiện điều này bằng cách tạo ra một bộ các
công cụ dùng để nén tín hiệu trong các trường hợp khác nhau Một trong các
công cụ này, chuyển đổi cosine rời rạc (DCT - discrete cosine transform), có
nhiệm vụ chuyển đổi một khối 8x8 pixel thành một tập các hệ số
1.3.2 MPEG-4 đem lại công cụ nén mới
Ta hãy xem xét các cộng cụ nén mới mà chuẩn MPEG-4 mang tới lĩnh vực
nén ảnh Hình 1 so sánh các công cụ của chuẩn MPEG-2 và MPEG-4
Hình 1.1: công cụ nén mới của MPEG-4 so với MPEG-2
Trang 8Chuẩn MPEG-4 đi xa hơn, theo hình 2, nó có thể dự đoán hệ số của toàn bộ
các khối trên một hàng hay hệ số của các khối ở cột bên trái từ một khối đầu
tiên
Hình 1.2: MPEG4 có thể dự đoán các tham số trên 1 hàng, hay các thông số của cột bên trái
từ một khối đầu tiên
Việc dự đoán các hệ số của hàng hay của cột dựa trên nội dung của hình ảnh
Ví dụ, một ảnh chứa một vật thể theo chiều đứng như cái cọc chẳng hạn Khi đó
quét ảnh này theo chiều ngang sẽ tạo ra sự thay đổi lớn trong các hệ số sau DCT
khi gặp hình ảnh cái cọc này Trái lại, khi quét theo chiều đứng thì các khối nằm
trong một cột có các hệ số DCT gần giống nhau, từ đó có thể nén với tỉ lệ nén
cao hơn
MPEG-4 mở rộng cách dự đoán vector chuyển động MPEG-4 có thể dự
đoán vector cho một macroblock từ các macroblock ở trên hay ở bên trái, và nó
chỉ gửi đi sự sai khác so với các vector cũ mà thôi Do đó giảm đi dữ liệu cần
thiết dùng để mã hoá một vector, cho phép có thể dùng một vector cho mỗi khối
DCT Việc dự đoán chuyển động sẽ tốt hơn với 4 vector, giảm nhỏ lỗi khi dự
đoán
Chất lượng hình ảnh có thể được cải thiện đáng kể bằng cách dùng tỉ lệ nén
dữ liệu lớn hơn mà không cần thay đổi độ phân giải Mpeg không phải là một
công cụ nén đơn lẻ mà ưu điểm của nén Mpeg chính là ở chỗ nó có một tập hợp
Trang 9cá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, khả năng truyền dẫn tốt
trong môi trường truyền dẫn khắc nhiệt
1.3.3 Tiềm năng của chuẩn MPEG-4
Trong khi các chuẩn MPEG-1 và MPEG-2 thao tác với một ảnh toàn vẹn, thì
chuẩn MPEG-4 có thể làm việc được với các hình ảnh được tạo ra, hay đã được
máy tính xử lý và đó là một thế mạnh của chuẩn 4.So với chuẩn
MPEG-2 thì MPEG-4 có những ưu thế hơn về xử lý đồ họa trực tiếp
Hình 1.3.a : Đầu vào của bộ mã hóa MPEG-2 là một ảnh hoàn chỉnh được
lặp lại theo tần số ảnh (frame rate)
Hình 1.3.b : Bộ mã hóa MPEG-4 có thể xử lý các lệnh đồ họa một
cách trực tiếp , do đó công cụ biểu diễn hình ảnh thực sự nằm trong bộ
giảimã MPEG-4 Hình 1.3 : so sánh giữa chuẩn MPEG-2 và MPEG-4 về xử lý đồ họa
Chuẩn MPEG-4 có thể làm việc được với 4 loại đối tượng, như trên hình 4.Hình
4 cho thấy chuẩn MPEG-4 đã chuẩn hoá phương pháp truyền các đối tượng 3
chiều nhờ các đối tượng lưới (mesh object), cùng với các phương tiện ánh xạ bề
Trang 10mặt vật thể lên các đối tượng này, chuẩn này có thể xử lý các đối tượng có hình
dạng bất kỳ
Hình 1.4: MPEG4 đã chuẩn hóa phương pháp truyền các đối tượng 3
chiều nhờ các đối tượng lưới
1.3.4 Audio, video và tất cả các đối tượng khác có thể được đồng bộ
chặt chẽ với độ chính xác cao và có khả năng tương tác
Truyền thông multimedia theo dòng (Multimedia stream), trong đó dòng
audio và video sẽ được biến đổi thích nghi với yêu cầu băng thông và chất lượng
hình nhờ loại bỏ những đối tượng (hình ảnh, âm thanh) không cần thiết khỏi
dòng dữ liệu và đồng bộ các thông tin được nhúng trong dòng dữ liệu đó Thêm
vào đó, MPEG-4 sẽ cho phép người sử dụng khả năng tương tác trực tiếp với
dòng dữ liệu (dừng tiến hay lùi nhanh, kích chuột để kích hoạt các tuỳ chọn
video và audio…)
Lưu giữ và phục hồi dữ liệu audio và video: do MPEG-4 phân chia các
khung hình thành các đối tượng, việc trình duyệt Browser trên cơ sở nội dung
(đối tượng) mong muốn sẽ được thực hiện một cách dễ dàng và nhờ vậy, các
ứng dụng lưu giữ hay phục hồi thông tin trên cơ sở nội dung MPEG-4 sẽ được
thuận lợi hơn
Trang 11Truyền thông báo đa phương tiện: các thông báo dưới dạng text, audio và
video MPEG-4 sẽ được truyền đi với yêu cầu băng thông ít hơn, và có khả năng
tự điều chỉnh chất lượng cho phù hợp với khả năng băng thông của thiết bị giải
mã
Thông tin giải trí: những sự trình diễn nghe nhìn tương tác (thế giới ảo, trò
chơi tương tác …) có thể được triển khai trên cơ sở chuẩn MPEG-4 sẽ làm giảm
yêu cầu về băng thông và làm cho thế giới ảo trở nên sinh động và giống như
thực tế trên các trang web
Chương 2 : Công nghệ mã hóa video trong MPEG-4
MPEG-4 là sản phẩm của nhóm MPEG (Moving Picture Expert Group)
được thành lập tháng 1/1988 với nhiệm vụ phát triển các chuẩn xử lý, mã hoá và
hiển thị các ảnh động, audio và các tổ hợp của chúng
Sản phẩm đầu tiên của nhóm này là MPEG-1 được sử dụng cho việc mã hoá
các dữ liệu nghe nhìn với tốc độ 1,5 Mbps Sản phẩm thứ hai của nhóm là chuẩn
MPEG-2 nổi tiếng hiện nay, mang tính tổng quát hơn và đang được áp dụng cho
một loạt các ứng dụng nghe nhìn trong phạm vi tốc độ từ 3-40 Mbps
Không giống các chuẩn MPEG trước đó, ví dụ như trong MPEG-2, nơi mà
nội dung được tạo ra từ nhiều nguồn như video ảnh động, đồ họa, văn bản… và
được tổ hợp thành chuỗi các khung hình phẳng, mỗi khung hình (bao gồm các
đối tượng như người, đồ vật, âm thanh, nền khung hình…) được chia thành các
phần tử ảnh pixels và xử lý đồng thời, giống như cảm nhận của con người thông
qua các giác quan trong thực tế Các pixels này được mã hoá như thể tất cả
chúng đều là các phần tử ảnh video ảnh động Tại phía thu của người sử dụng,
quá trình giải mã diễn ra ngược với quá trình mã hoá không khó khăn Vì vậy có
thể coi MPEG-2 là một công cụ hiển thị tĩnh, và nếu một nhà truyền thông
truyền phát lại chương trình của một nhà truyền thông khác về một sự kiện, thì
Trang 12logo của nhà sản xuất chương trình này không thể loại bỏ được Với MPEG-2,
bạn có thể bổ xung thêm các phần tử đồ hoạ và văn bản vào chương trình hiển
thị cuối cùng (theo phương thức chồng lớp), nhưng không thể xoá bớt các đồ
hoạ và văn bản có trong chương trình gốc
Chuẩn MPEG-4 khắc phục được hạn chế này và là một chuẩn động dễ thay đổi
Với MPEG-4, các đối tượng khác nhau trong một khung hình có thể được mô tả,
mã hoá và truyền đi một cách riêng biệt đến bộ giải mã trong các dòng cơ bản
ES (Elementary Stream) khác nhau Cũng nhờ xác định, tách và xử lý riêng các
đối tượng (như nhạc nền, âm thanh xa gần, đồ vật, đối tượng ảnh video như con
người hay động vật, nền khung hình …), nên người sử dụng có thể loại bỏ riêng
từng đối tượng khỏi khuôn hình Sự tổ hợp lại thành khung hình chỉ được thực
hiện sau khi giải mã các đối tượng này
Hình 2.1 Cấu trúc của bộ mã hoá và giải mã video MPEG-4
Các bộ phận chức năng chính trong các thiết bị MPEG-4 bao gồm:
- Bộ mã hoá hình dạng ngoài Shape Coder dùng để nén đoạn thông tin, giúp
xác định khu vực và đường viền bao quanh đối tượng trong khung hình scene
- Bộ dự đoán và tổng hợp động để giảm thông tin dư thừa theo thời gian
- Bộ mã kết cấu mặt ngoài Texture coder dùng để xử lý dữ liệu bên trong và
các dữ liệu còn lại sau khi đã bù chuyển động
Trang 13Hình 2.2 Sơ đồ cấu trúc giải mã video MPEG-4
Hình 2 là một ví dụ về tổng hợp khung hình video sử dụng trong MPEG-4
Nhiều đối tượng được tách ra khỏi video đầu vào Mỗi đối tượng video sau đó
được mã hóa bởi bộ mã hoá đối tượng video VO (Video Object) và sau đó được
truyền đi trên mạng Tại vị trí thu, những đối tượng này được giải mã riêng rẽ
nhờ bộ giải mã riêng VO và gửi tới bộ compositor Người sử dụng có thể tương
tác với thiết bị để cấu trúc lại khung hình gốc, hay để xử lý các đối tượng tạo ra
một khung hình khác Ngoài ra, người sử dụng có thể download các đối tượng
khác từ các thư viện cơ sở dữ liệu (có sẵn trên thiết bị hay từ xa thông qua mạng
LAN, WAN hay Internet) để chèn thêm vào hay thay thế các đối tượng có trong
Để có thể thực hiện việc tổ hợp khung hình, MPEG-4 sử dụng một ngôn ngữ
mô tả khung hình riêng, được gọi là định dạng nhị phân cho khung hình BiFS
(Binary Format for Scenes) BiFS không chỉ mô tả ở đâu và khi nào các đối
tượng xuất hiện trong khung hình, nó cũng mô tả cách thức hoạt động của đối
tượng (làm cho một đối tượng xoay tròn hay chồng mờ hai đối tượng lên nhau)
và cả điều kiện hoạt động đối tượng và tạo cho MPEG-4 có khả năng tương tác
Trong MPEG-4 tất cả các đối tượng có thể được mã hoá với sơ đồ mã hoá riêng
của nó - video được mã hoá theo kiểu video, text được mã hoá theo kiểu text,
các đồ hoạ được mã hoá theo kiểu đồ hoạ - thay vì việc xử lý tất cả các phần tử
Trang 14ảnh pixels như là mã hoá video ảnh động Do các quá trình mã hoá đã được tối
ưu hoá cho từng loại dữ liệu thích hợp, nên chuẩn MPEG-4 sẽ cho phép mã hoá
với hiệu quả cao tín hiệu ảnh video, audio và cả các nội dung tổng hợp như các
bộ mặt và cơ thể hoạt hình
2.1 Mã hoá hình dạng ngoài (Shape Coder )
-Khung hình : là thành phần mã hoá chính Thường thường chúng ta có thể
phân biệt sự thay đổi về độ sáng của ảnh tốt hơn so với sự thay đổi về màu Do
đó trước hết các sơ đồ nén Mpeg sẽ tiến hành chia khung hình thành các thành
phần độ sáng Y và thành phần độ màu Cb, Cr (một thành phần về độ sáng và hai
thành phần về độ màu) Một khung hình sẽ gồm có 3 ma trận ứng với các thành
phần về độ sáng (Y) và hai thành phần về độ màu Cb và Cr
Ma trận Y có số hàng và cột bằng nhau (ma trận vuông) Ma trận Cb và Cr
có số hàng và cột bằng nửa ma trận Y Hình 3 cho thấy quan hệ và vị trí của Y
và các thành phần Cb và Cr Lưu ý rằng cứ 4 giá trị Y lại có 2 giá trị kết hợp
một của Cb và một của Cr (Vị trí của giá trị Cb và Cr là tương đương)
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 khung hình trong
một cảnh Video dường như có liên quan mật thiết với nhau theo thời gian: Mỗi
khung hình tại một thời điểm nhất định sẽ có nhiều khả năng giống với các
khung hình đứng ngay phía trước và ngay phía sau nó Do vậy ở phía bộ mã hoá,
chỉ cần gửi những khung hình có thay đổi so với những khung hình trước, sau
đó 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 khung hình sai khác này Trong MPEG-4 là yếu tố ít có sự thay đổi
nhất, các bước mã hóa khung hình cũng tương tư như mã hóa ảnh Thuật toán
mã hoá biến đổi gồm các bước:
+Biến đổi Cosine rời rạc (DCT)
+Lượng tử hoá
+Mã hóa
2.1.1 Biến đổi Cosin rời rạc ( DCT )
Trang 15Sơ đồ thuật toán nén và giải nén được mô tả dưới đây:
Hình 2.3 sơ đồ thuật toán nén ảnh (a)
Quá trình giải nén sẽ được làm ngược lại, người ta giải mã từng phần ảnh
nén tương ứngvới phương pháp nén đã sử dụng trong phần nén nhờ các thông
tin liên quan ghi trong phần header của file nén Kết quả thu được là hệ số đã
lượng tử Các hệ số này được khôi phục về giá trị trước khi lượng tử hóa bằng
bộ tương tự hóa Tiếp đó đem biến đổi Cosin ngược ta được ảnh ban đầu với độ
trung thực nhất định
Bảng mã và bảng lượng tử trong sơ đồ giải nén được dựng lên nhờ những
thông tin ghi trong phần cấu trúc đầu tệp ( Header) của tệp ảnh nén Quá trình
nén chịu trách nhiệm tạo ra và ghi lại những thông tin này Phần tiếp theo sẽ
phân tích tác dụng của từng khối trong sơ đồ 2.3
+ Phần khối
Vì ảnh gốc có kích thước rất lớn cho nên trước khi đưa vào biến đổi DCT,
ảnh được phân chia thành các khối vuông, mỗi khối này thường có kích thước 8
x 8 pixel và biểu diễn các mức xám của 64 điểm ảnh, các mức xám này là các số
nguyên dương có giá trị từ 0 đến 255 Việc phân khối này sẽ làm giảm được một
phần thời gian tính toán các hệ số chung, mặt khác biến đổi cosin đối với các
khối nhỏ sẽ làm tăng độ chính xác khi tính toán với dấu phẩy tĩnh, giảm thiểu sai
số do làm tròn sinh ra
Trang 16Hình 2.4 sơ đồ thuật toán nén ảnh (b)
Biến đổi DCT là một công đoạn chính trong các phương pháp nén sử dụng
biến đổi 2 công thức ở đây minh hoạ cho 2 phép biến đổi DCT thuận nghịch đối
với mỗi khối ảnh có kích thước 8 x 8 Giá trị x(n1, n2) biểu diễn các mức xám
của ảnh trong miền không gian, X(k1, k2) là các hệ số sau biến đổi DCT trong
miền tần số
+ Biến đổi
Biến đổi là một trong những công đoạn lớn trong các phương pháp nén sử
dụng phép biến đổi Nhiệm vụ của công đoạn biến đổi là tập trung năng lượng
vào một số ít các hệ số biến đổi Công thức biến đổi cho mỗi khối là:
và
Thuật toán biến đổi DCT cho mỗi khối trong trường hợp này sẽ bao gồm 16
phép biến đổi DCT Đầu tiên, người ta biến đổi nhanh Cosin một chiều cho các
dãy điểm ảnh trên mỗi hàng Lần lượt thực hiện cho 8 hàng Sau đó đem biến
Trang 17đổi nhanh Cosin một chiều theo từng cột của ma trận vừa thu được sau 8 phép
biến đổi trên Cũng lần lượt thực hiện cho 8 cột Ma trận cuối cùng sẽ là ma trận
hệ số biến đổi của khối tương ứng.Trong sơ đồ giải nén ta phải dùng phép biến
đổi Cosin ngược Công thức biến đổi ngượccho khối 8x8:
và
2.1.2 Lượng tử hoá
Khối lượng tử hóa trong sơ đồ nén đóng vai trò quan trong và quyết định tỉ
lệ nén củachuẩn nén Đầu vào của khối lượng tử hóa là các ma trận hệ số biến
đổi Cosin của các khối điểm ảnh.Sau khi thực hiện biến đối DCT, 64 hệ số sẽ
được lượng tử hoá dựa trên một bảng lượng tử gồm 64 phần tử Q(u,v) với 0≤u,
v≤7 Bảng này được định nghĩa bởi từng ứng dụng cụ thể Các phần tử trong
bảng lượng tử có giá trị từ 1 đến 255 được gọi là các bước nhảy cho các hệ số
DCT Quá trình lượng tử được coi như là việc chia các hệ số DCT cho bước
nhảy lượng tử tương ứng, kết quả này sau đó sẽ được làm tròn xuống số nguyên
gần nhất Công thức (3) thể hiện việc lượng tử với F(u,v) là các hệ số DCT,
F Q (u,v) là các hệ số sau lượng tử, các hệ số này sẽ được đưa vào bộ mã hoá
Entropy
(3)
Trang 18Mục đích của việc lượng tử hoá là giảm số lượng bit cần để lưu trữ các hệ số
biến đổi bằng việc giảm độ chính xác của các hệ số này cho nên lượng tử là quá
trình xử lý có mất thông tin
Quá trình giải lượng tử ở phía bộ giải mã được thực hiên ngược lại Các hệ
số sau bộ giải mã entropy sẽ nhân với các bước nhảy trong bảng lượng tử (bảng
lượng tử được đặt trong phần header của ảnh JPEG) Kết quả này sau đó sẽ được
đưa vào biến đổi DCT ngược Để nâng cao hiệu quả nén cho mỗi bộ hệ số trong
một khối, người ta xếp chúng lại theo thứ tự ZigZag Tác dụng của sắp xếp lại
theo thứ tự ZigZag là tạo ra nhiều loại hệ số giống nhau Chúng ta biết rằng
năng lượng của khối hệ số giảm dần từ góc trên bên trái xuống góc dưới bên
phải nên việc sắp xếp lại các hệ số theo thứ tự ZigZag sẽ tạo điều kiện cho các
hệ số xấp xỉ nhau (cùng mức lượng tử) nằm trên một dòng
Hình 2.5 : Quá trình giải lượng tử và thứ tự sắp xếp zigzag
Mỗi khối ZigZag này được mã hóa theo phương pháp RLE Cuối mỗi khối
đầu ra của RLE, ta đặt dấu kết thúc khối EOB (End Of Block) Sau đó, các khối
được dồn lại và mã hóa một lần bằng phương pháp mã Huffman Nhờ có dấu kết
thúc khối nên có thể phân biệt được hai khối cạnh nhau khi giải mã Huffman
Hai bảng mã Huffman cho hai thành phần hệ số tất nhiên sẽ khác nhau Để có
Trang 19thể giải nén được, chúng ta phải ghi lại thông tin như: kích thước ảnh, kích
thước khối, ma trận Y, độ lệch tiêu chuẩn, các mức tạo lại, hai bảng mã
Huffman, kích thước khối nén một chiều, kích thước khối nén xoay chiều… và
ghi nối tiếp vào hai file nén của thành phần hệ số
Cài đặt giải thuật cho nén thực sự phức tạp Chúng ta phải nắm được các
kiến thức về nén
RLE, Huffman, biến đổi Cosin, xây dựng bộ lượng tử hóa
Lloyd-Max…Nén và giải nén hơi chậm nhưng bù lại, thời gian truyền trên mạng
nhanh hơn do kích thước tệp nén nhỏ Với những ưu điểm của mình được ISO
chấp nhận là chuẩn ảnh quốc tế và được biết đến dưới mã số ISO 10918-1
2.1.3 Mã hóa
Mã hoá là bước cuối cùng trong hệ thống nén ảnh dựa trên biến đổi DCT
Chuẩn nén ảnh JPEG hiện nay dùng phương pháp mã hoá Huffman, đây là phép
mã hoá không làm mất thông tin Phương pháp này dựa trên mô hình thống kê
Dựa vào dữ liệu gốc, người ta tính tần suất xuất hiện các hệ số Việc tính tần
suất được thực hiện bằng cách duyệt tuần tự từ đầu khối đến cuối khối, sau đó,
những hệ số có tần suất cao được gắn cho một từ mã ngắn, các hệ số có tần suất
thấp được gán một từ mã dài Với cách thức này chiều dài trung bình của từ mã
đã giảm xuống
Đường ZicZig
Các hệ số thu được sau khi lượng tử hoá sẽ được sắp xếp thành một chuỗi
các ký hiệu theo kiểu “zig-zag” (theo đường zig-zag) để đặt các hệ số có tần số
Trang 20thấp lên trước các hệ số tần số cao Các hệ số này sẽ được mã hoá dựa trên bảng
mã Huffman sao cho chiều dài trung bình của từ mã là nhỏ nhất Bảng mã này
cũng sẽ được đặt trong phần mào đầu của ảnh để thực hiện giải nén ảnh
2.2 Dự đoán và tổng hợp động
Mỗi lớp video bao gồm các đối tượng riêng rẽ Mỗi đối tượng riêng rẽ ấy
gọi là VOP Khi 1 VOP được tách ra,VOP đó sẽ được đưa vào bộ mã hóa và
được thực hiện mã hóa như sau :
Hình 2.6 Cấu trúc mã hóa một VOP
2.2.1 Ước lượng chuyển động
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 khung hình (Picture) ở bộ
mã hoá (Temporal Prediction), bù chuyển động ở bộ giải mã (Motion
Compensation) và mã lượng tử hoá (Quatization 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 nhận 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 khung hình trong một cảnh Video
(Video Sequence) dường như có liên quan mật thiết với nhau theo thời gian:
Mỗi khung hình tại một thời điểm nhất định sẽ có nhiều khả năng giống với các
Trang 21khung hình đứ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 khung hình gọi là MB, sau đó nó sẽ
phát hiện MB nào không thay đổi từ khung hình này tới khung hình khác Bộ mã
hoá sẽ dự đoán trước sự xuất hiện của các MB 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 MB trong khung hình hiện
tại và các MB được dự đ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ừ khung hình này tới khung hình 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 khung hì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 khung hình liên tiếp (Inter-Picture) Chúng ta
có thể sử dụng tính chất này để tạo ra các khung hình mới nhờ vào những thông
tin từ những khung hình đã gửi trước nó Do vậy ở phía bộ mã hoá, chỉ cần gửi
những khung hình có thay đổi so với những khung hình trước, sau đó dùng
phương pháp nén về không gian (Spatial Coding) để loại bỏ sự dư thừa về không
gian trong chính khung hì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 (pixel) lân cận nhau
(Intra-Picture)
2.2.2 Kỹ thuật đệm
Kỹ thuật đệm một hình ảnh sẽ được thực hiện lặp đi lặp lại trên VOP để thực
hiện việc dự đoán chuyển động và bù chuyển động
Mục đích của kỹ thuật này là để điều chỉnh tốc độ của luồng video mã hóa
hay điều chỉnh tốc độ nén video
2.2.3 Kỹ thuật chuyển động cơ bản
Trang 22MPEG-4 sử dụng một số kỹ thuật tượng tự như ITU-T.263 để mã hóa dữ
liệu chuyển động Các khái niệm về kỹ thuật chuyển động cơ bản sẽ được trình
bày ở các mục dưới đây:
2.2.3.1 Kỹ thuật thay đổi từng khối thích ứng với cấu trúc đa cạnh của
VOP
Các hình chữ nhật có chứa các VOP được mở rộng về bên phải và phía dưới
cùng theo bội số của kích thước MB Kích cỡ của hình chữ nhật cho độ chói
VOP là bội số của 16x16, và kích thước cho màu là bội số của 8x8 Các giá trị
alpha của các điểm ảnh mở rộng (ví dụ như bên ngoài ranh giới của VOP) được
thiết lập là rỗng Các MB được hình thành bởi các phân vùng mở rộng ranh giới
của khối hình chữ nhật 16 x 16 Trong quá trình dự đoán chuyển động, giá trị
SAD (tổng sự khác nhau tuyệt đối của các điểm ảnh) được sử dụng như 1 công
cụ để tìm ra độ sai lệch Việc xây dựng lại các anpha Plane của VOP có sử dụng
cả các điểm ảnh của các MB mà chúng nằm ngoài VOP.Giá trị SAD chỉ được
tính cho các điểm ảnh có giá trị khác 0 Công thức này được áp dụng cả với các
MB thuộc đường biên của VOP Kỹ thuật này được áp dụng như trong hình 2.7
Hình 2.7 : Kỹ thuật thay đổi từng khối thích ứng với cấu trúc đa cạnh của VOP
2.2.3.2 Ước lượng chuyển động của điểm ảnh
Việc tìm kiếm sự thay đổi về thành phần độ sáng ( theo phương Y ) được
thực hiện hiệu quả khi ta tìm kiếm trên 1 số nguyên điểm ảnh.Việc so sánh được
diễn ra giữa MB hiện tại với MB đã bị thay thế trước đó.Việc tìm kiếm được
Trang 23thực hiện trong một cửa sổ có độ rộng lên tới ± 31,5 pixel theo cả phương ngang
và phương thẳng đứng quanh vị trí MB ban đầu
Hình 2.8 : cửa sổ mở rộng cho việc tìm kiếm sự thay đổi theo phương Y
Từ đó ta tính được SAD như sau:
Trong đó SADN(x,y) là giá trị SAD của MB tại tọa độ (x , y)
Original: là giá trị điểm ảnh ij hiện tại
Previous: là giá trị điểm ảnh ij trước đó đã bị thay thế
!(Alphaoriginal=0) : là một hệ số khác 0
Trong miền không gian mở rộng tìm kiếm,những nơi mà (x,y) lên tới lên ±
31,5 pixel với N =16 hoặc 8 để ưu tiên cho vector rỗng khi không có sự khác
biệt thì véc tơ rỗng SAD (0, 0) được sử dụng theo công thức
với NB là số chỉ số của MB bên trong các VOP Cặp kết quả (x,y) thấp nhất
trong SAD16 được chọn như 16x16 điểm ảnh nguyên của MV , V0 Trong chế
độ nâng cao chất lượng dự đoán chuyển động 4 MVs 8x8 đại diện cho mỗi
16x16 MB Các SAD 8x8 cho MB sẽ được tính như sau :
Trang 24Với 0 < k < 4 là số khối 8 x 8 của mỗi MB nằm bên trong các VOP
2.2.3.3 chế độ INTRA / INTER
Khi dự đoán chuyển động của các điểm ảnh được hoàn thành những người
làm nhiệm vụ mã hóa sẽ quyết định sẽ sử dụng chế độ INTRA hoặc chế độ
INTER
Ta có:
Nếu A< (SADinter – 2NB) thì sẽ sử dụng chế độ INTRA
Nếu chế độ INTRA được chọn , thì tìm kiếm chuyển động sẽ được thực hiện
với một nửa điểm ảnh xung quanh vị trí V0
2.2.3.4 Tìm kiếm nửa điểm ảnh
Tìm kiếm nửa điểm ảnh được thực hiện bằng cách dựng lại các VOP cho
16x16 vectors hoặc 8x8 vectors Việc tìm kiếm được thực hiện các phần của MB
trong phạm vi ±1 pixel xung quanh các ma trận có số điểm là V0, V1, V2, V3,
V4 giá trị của nửa pixel tìm được bằng cách sử dụng phép nội suy được diễn tả
trong hình sau :