Ước lượng và bù chuyển động được sử dụng để giảm dư thừa thời gian giữa các khung hình liên tiếp trong miền thời gian.. Vì vậy việc nghiên cứu và xây dựng mới các thuật toán ước lượng ch
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN QUANG HUY
NGHIÊN CỨU VÀ ĐÁNH GIÁ MỘT SỐ THUẬT TOÁN ƯỚC
LƯỢNG CHUYỂN ĐỘNG TRONG MÃ HÓA VIDEO
CHUYÊN NGÀNH : KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 8.52.02.08
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2021
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS Vũ Hữu Tiến
Phản biện 1: ……….………
Phản biện 2: ……….………
Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ
Bưu chính Viễn thông
Vào lúc: …… giờ …… ngày …… Tháng …… Năm ……
Có thể tìm hiểu luận văn tại:
- thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3I MỞ ĐẦU 1.Tính cấp thiết của đề tài:
Trong video, dư thừa dữ liệu nằm trong mối tương quan về không gian, thời gian và thống kê giữa các khung hình Các mối tương quan này được xử lý tách biệt nhau do sự khác nhau về đặc điểm của chúng Các chuẩn nén video thường gồm 3 phần chính để giảm ba loại
dư thừa dữ liệu ở trên Ước lượng và bù chuyển động được sử dụng để giảm dư thừa thời gian giữa các khung hình liên tiếp trong miền thời gian Ước lượng chuyển động nhằm xem xét chuyển động của các đối tượng trong một chuỗi ảnh để tìm ra vector biểu diễn cho chuyển động Ước lượng chuyển động sử dụng hiểu biết về chuyển động của đối tượng do đó giảm được sự dư thừa thời gian
Vì vậy việc nghiên cứu và xây dựng mới các thuật toán ước lượng chuyển động rất cần thiết trong việc cải thiện chất lượng và thời gian xử lý của các chuẩn nén video Do vậy, tôi
đã chọn đề tài “Nghiên cứu đánh giá một số thuật toán ước lượng chuyển động trong mã
hóa video” làm nội dung nghiên cứu cho luận văn này Đây là một chủ đề cấp thiết cho việc
ứng dụng truyền video trên các mạng viễn thông đa môi trường thế hệ mới
2 Tổng quan về vấn đề nghiên cứu:
Trên thực tế, đã có nhiều nghiên cứu về các thuật toán tìm kiếm khác nhau được sử dụng
để dự đoán chuyển động giữa các khung hình
Có hai cách tiếp cận cơ bản đối với ước lượng chuyển động:
- Ước lượng chuyển động dựa trên pixel
- Ước lượng chuyển động dựa trên khối
Cách tiếp cận ước lượng chuyển động dựa trên pixel là tìm và xác định vector chuyển động cho mỗi pixel trong ảnh Phương pháp này còn được gọi là “phương pháp dòng quang” Phương pháp này làm việc dựa trên giả định về sự không thay đổi của độ sáng nghĩa là cường
độ của một pixel sẽ không đổi khi nó dịch chuyển Tuy nhiên số lượng vector biểu diễn chuyển động sẽ rất lớn vì mỗi pixel cần một vector tương ứng
Một cách tiếp cận thực tế và nhanh hơn là ước lượng chuyển động dựa trên khối BMME (Block Matching Motion Estimation) Trong phương pháp này, frame được chia thành các khối không chồng lấn nhau (có kích thước 16 x 16, 8 x 8, hoặc thậm chí 4 x 4 pixel trong các tiêu chuẩn gần đây) và với mỗi block sẽ xác định vector chuyển động trong frame tham chiếu Chỉ cần tính một vector chuyển động duy nhất cho toàn bộ khối, do đó ta giả định là toàn bộ
Trang 4block chuyển động tịnh tiến Điều giả định này là hợp lý ngoại trừ tại các biên của đối tượng Cho đến nay ước lượng chuyển động dựa trên khối được chấp nhận trong tất cả các chuẩn mã hóa video Nó dễ thực hiện về phần cứng, có thể ước lượng và dự đoán chuyển động thời gian thực
Các thuật toán cơ bản gồm: thuật toán tìm kiếm đầy đủ FSA (Full Search Algorithm), Thuật toán tìm kiếm logarithm hai chiều TDL (Two - dimentional logarithmnic search), Thuật toán tìm kiếm ba bước TSS (Three - step search algorithm), Thuật toán tìm kiếm chéo CSA (Cross Search Algorithm), Thuật toán OTA (One-at-a-time Search Algorithm), Thuật toán OTA cải tiến gọi là NOTA (New One at a Time Algorithm), Thuật toán tìm kiếm ba bước cải tiến MTSS (Modified Three-Step Search Algorithm), và các thuật toán cải tiến khác
- Mô phỏng và đánh giá thuật toán dựa trên tiêu chí chất lượng hình ảnh và tỷ lệ nén
4 Đối tượng và phạm vi nghiên cứu:
4.1 Đối tượng nghiên cứu:
- Đối tượng nghiên cứu chính của đề tài là các thuật toán ước lượng chuyển động trong video
4.2 Phạm vi nghiên cứu:
- Nghiên cứu và đánh giá hiệu năng của một số các thuật toán ước lượng Vector chuyển động
- Tiêu chí đánh giá các thuật toán bao gồm :
• Tỷ lệ nén video (được đánh giá qua bitrate)
• Chất lượng hình ảnh sau khi bù chuyển động (được đánh giá thông qua tham số PSNR)
5 Phương pháp nghiên cứu:
5.1 Phương pháp nghiên cứu tài liệu:
Trang 5- Nghiên cứu, khảo sát và đánh giá các thuật toán đã và đang được áp dụng trong các chuẩn nén video dựa trên các tiêu chí về bitrate và chất lượng hình ảnh
5.2 Phương pháp mô phỏng
- Đánh giá và so sánh các thuật toán dựa trên công cụ mô phỏng mã hóa tín hiệu video
JM Đây là công cụ phần mềm được xây dựng theo chuẩn mã hóa tín hiệu Video ISO/IEC 14496-10 AVC
Luận văn được cấu trúc với các chương như sau:
Chương 1: Tổng quan về mã hóa Video
Chương 2: Nghiên cứu các thuật toán ước lượng chuyển động trong mã hóa Video Chương 3: Mô phỏng và đánh giá các thuật toán ước lượng chuyển động trong mã hóa Video
Trang 6CHƯƠNG I: TỔNG QUAN VỀ MÃ HÓA VIDEO
1.2 Nguyên tắc mã hóa video
- Các nghiên cứu trước đây đã chỉ ra rằng giữa các frame trong chuỗi video và giữa các pixel trong cùng một frame có một mối tương quan nhất định Dựa vào các mối tương quan này chúng ta có thể thực hiện việc nén tín hiệu video mà không làm ảnh hưởng tới độ phân giải của ảnh
- Dư thừa thông tin trong miền không gian (Spatial redundancy): Dư thừa thông tin trong miền không gian xuất hiện giữa các pixel trong cùng một khung hình (ví dụ sự tương đồng giữa các pixel) Thông tin dư thừa được loại bỏ bằng kỹ thuật mã hóa biến đổi (transform coding)
- Dư thừa thông tin trong miền thời gian (Temporal redundancy): Loại thông tin
dư thừa này xuất hiện khi giữa các khung ảnh liên tiếp có những thông tin tương đồng Để giảm dư thừa này người ta dùng kỹ thuật mã hóa sự khác biệt giữa các frame
1.2.1 Kỹ thuật giảm dư thừa thông tin trong miền không gian
a Mã hóa bằng phương pháp dự đoán
- Phương pháp giảm dư thông không gian được đưa ra dựa trên việc dự báo giá trị của các pixel hiện tại dựa vào giá trị của pixel đã được mã hóa trước đó
- Phương pháp này được gọi là “Điều chế xung mã sai phân” (Differential Pulse Code Modulation – DPCM)
- Bộ dự đoán cho kết quả tốt nhất nếu quá trình dự báo được dựa trên những giá trị của các pixel liền kề đã được mã hóa trước đó
Trang 7b Mã hóa bằng phương pháp biến đổi
Người ta chia bộ lượng tử ra làm hai loại: bộ lượng tử đồng nhất (Uniform quantiser – UTQ) và bộ lượng tử đồng nhất có dead zone (UTQ-DZ) Các hệ số DC của chế độ nén nội ảnh được lượng tử bởi UTQ trong khi các hệ số AC và hệ số DC của chế độ nén liên ảnh được lượng tử bởi UTQ-DZ Lý do là UTQ-DZ làm cho nhiều hệ số AC trở thành giá trị 0 nên hệ số nén sẽ cao hơn
1.2.2 Kỹ thuật giảm dư thừa thông tin trong miền thời gian
- Kỹ thuật giảm dư thừa thông tin trong miền thời gian được thực hiện dựa trên việc tìm ra sự khác nhau giữa các khung hình liên tiếp
- Để làm giảm lượng thông tin này, người ta tiến hành thêm một bước trung gian gọi là ước lượng chuyển động (motion estimation) cho các đối tượng trong hình dựa bằng cách so sánh khung hình hiện tại và khung hình trước đó
- Quá trình ước lượng chuyển động sẽ cho kết quả là các vector chuyển động Dựa vào các vector này và khung hình trước đó, khung hình hiện tại sẽ được dự đoán Quá trình này được gọi là “bù chuyển động” (motion compensated) Như vậy, sự khác biệt giữa khung hình hiện tại và khung hình dự đoán sẽ được giảm đi so với sự khác biệt giữa khung hình hiện thời
và khung khung hình trước đó
a Ước lượng chuyển động
Mục đích của quá trình ước lượng chuyển động là để tìm ra vector chuyển động Trong các tiêu chuẩn mã hóa video, thuật toán BMA (Block Matching Algorith) thường được sử dụng để ước lượng chuyển động
Để tìm và đánh giá mức độ giống nhau giữa hai khối hình đích và khối hình tham chiếu, chúng ta sử dụng một số phương pháp như sử dụng hàm tương quan chéo (Crosscorrelation function - CCF), hàm trung bình bình phương lỗi (Mean Square Error – MSE) và hàm trung bình tuyệt đối của lỗi (Mean absolute error – MAE)
b Bù chuyển động
Sau quá trình ước lượng chuyển động ta có được vector chuyển động của các đối tượng trong khối pixel N x N của khung hình đích Dựa vào các vector chuyển động, các khối pixel N x N trong khung hình tham chiếu được dịch chuyển theo hướng và độ lớn của vector chuyển động đã chỉ ra Quá trình này được gọi là bù chuyển động Kết quả của quá trình này là một khung hình mới được cho là giống với khung hình hiện
Trang 8thời Tuy nhiên, đây vẫn chỉ là quá trình dự đoán nên khung hình dự đoán sẽ không thể giống hoàn toàn với khung hình hiện thời
1.2.3 Sơ đồ tổng quát mã hóa video
Về cơ bản các bộ mã hóa video như MPEG, H261, H264… đều có nguyên lý hoạt động
b) Ước lượng chuyển động
Lượng dữ liệu truyền đi sẽ rất lớn nếu với mỗi pixel đều có một vector chuyển động Thay vào đó, người ta sẽ gán cho mỗi nhóm pixel (block) một vector chuyển động Trong các chuẩn mã hóa, mỗi nhóm pixel là một hình vuông có kích thước 16x16 (được gọi là một
Macroblock - MB) được ước lượng chuyển động và được bù chuyển động Thông thường,
việc ước lượng chuyển động được thực hiện trên kênh chói (kênh Y) của các khung hình
c) Inter/Intra swich
Inter/Intra switch có tác dụng chuyển đổi giữa hai chế độ liên ảnh và nội ảnh Trong chuẩn mã hóa ảnh JPEG, tất cả các MB trong ảnh được mã hóa ở chế độ nội ảnh Với các chuẩn mã hóa video như H.26x và MPEG, một số loại frame được mã hóa ở chế độ nội ảnh, một số loại frame được mã hóa ở chế độ liên ảnh Ngoài ra, trong cùng một frame liên ảnh, một số MB được mã hóa ở chế độ nội ảnh để tối ưu hóa tỷ lệ mã hóa
Trang 9Có hai loại lượng tử hóa Một loại có dead zone được sử dụng cho các hệ số AC và hệ
số DC của các MB mã hóa liên ảnh Loại còn lại không có dead zone được sử dụng cho các
hệ số DC của MB nội ảnh Khoảng giá trị của các hệ số được lượng tử có thể từ -2047 đến +2047 Với bộ lượng tử có dead zone, nếu trị tuyệt đối của các hệ số nhỏ hơn bước lượng tử
q thì sẽ được gán bằng 0 Ngược lại, giá trị của các hệ số sau lượng tử sẽ trong khoảng từ 1
đến 31
e) Variable Length Coding
Các hệ số sau khi được lượng tử sẽ được mã hóa bằng mã có độ dài thay đổi Ngoài ra, giá trị của vector chuyển động cũng được mã hóa bằng mã này cùng với các hệ số lượng tử
f) Giải lượng tử và biến đổi DCT ngược
Để tái tạo khung hình hiện thời, các hệ số DCT sau lượng tử được giải lượng tử và biến đổi DCT ngược Sau đó, các giá trị này được cộng với khung hình trước đó đang được bộ mã hóa lưu giữ để tái tạo lại khung hình hiện thời Khung hình hiện thời này sẽ lại được lưu giữ
để dùng cho quá trình dự đoán khung hình tiếp theo
g) Bộ đệm
Tốc độ bit được tạo ra bởi bộ mã hóa sẽ liên tục thay đổi vì tốc độ bit phụ thuộc vào mức độ chuyển động của các đối tượng trong video Vì vậy, trước khi truyền tín hiệu video trên các kênh truyền có băng thông cố định thì các bit được lưu trong bộ đệm để điều tiết việc truyền đi Bộ đệm trong trường hợp này chính là bộ nhớ có hai cổng ghi và đọc
1.3 Giải mã hóa video
Quá trình giải mã hóa video giống như các bước mã hóa video nhưng ngược lại Ban đầu dữ liệu nhận được là các tín hiệu mã hóa được tách thành hai phần: dữ liệu mã hóa giá trị khác biệt và dữ liệu mã hóa giá trị vector chuyển động Vector chuyển động sẽ được đưa vào
bộ dự đoán để dự đoán khung hình hiện tại Dữ liệu mã hóa giá trị khác biệt giữa khung hình hiện tại và khung hình trước đó lần lượt được giải mã entropy, giải luợng tử, biến đổi DCT ngược Sau khi biến đổi DCT ngược ta sẽ được khung hình là hiệu số của khung hình hiện tại
và khung hình dự đoán Sau khi được cộng với khung hình dự đoán, ta sẽ thu được khung hình tái tạo của khung hình hiện tại
Trang 101.4 Các tiêu chuẩn cho mã hóa tín hiệu video
Trên thế giới hiện nay có hai tổ chức đưa ra các tiêu chuẩn cho mã hóa video là Tổ chức Viễn thông quốc tế (International Standards Organisation – ISO) và Hiệp hội Viễn thông quốc
tế (International Telecommunications Union – ITU) Tiêu chuẩn do ITU đưa ra tập trung vào các ứng dụng video thời gian thực, ứng dụng thoại video Nhóm đưa ra các tiêu chuẩn này của ITU có tên là VCEG (Video Coding Experts Group)
1.5 Kết luận chương
Kết thúc chương I chúng ta đã hiểu được kiến thức tổng quát về mã hóa video, nguyên
lý hoạt mã hóa dựa trên nguyên tắc loại bỏ các dư thừa trong video và các bước thực hiện chi tiết Để phát triển mã hóa video không chỉ đòi hỏi mạnh về phần cứng và cả phần mềm, các thuật toán được áp dụng một cách hiệu quả
Mã hóa video là một chuỗi các bước thực hiện và trong đó ước lượng chuyển động là hoạt động quan trọng có sử dụng các thuật toán ước lượng chuyển động sẽ được phân tích chi tiết ở chương tiếp theo
Trang 11CHƯƠNG II: NGHIÊN CỨU CÁC THUẬT TOÁN ƯỚC LƯỢNG
CHUYỂN ĐỘNG TRONG MÃ HÓA VIDEO
Hiện nay có hai cách tiếp cận cơ bản đối với ước lượng chuyển động:
- Ước lượng chuyển động dựa trên pixel
- Ước lượng chuyển động dựa trên khối
Cách tiếp cận ước lượng chuyển động dựa trên pixel tìm và xác định vector chuyển động cho mỗi pixel trong ảnh Phương pháp này còn được gọi là “phương pháp dòng quang” Một cách tiếp cận thực tế và nhanh hơn là ước lượng chuyển động dựa trên khối Trong phương pháp này, frame được chia thành các khối không chồng lấn nhau và với mỗi block sẽ xác định vector chuyển động trong frame tham chiếu Chỉ cần tính một vector chuyển động duy nhất cho toàn bộ khối
Tính hiệu quả của kỹ thuật nén sử dụng bù chuyển động dựa trên khối phụ thuộc vào mức độ của các giả định sau:
- Độ chói là đồng nhất trên quỹ đạo chuyển động
- Bỏ qua các vấn đề do các vùng không xét đến
2.1 Thuật toán tìm kiếm theo khối BMA (Block Matching Algorithm)
BMA giả sử rằng tất cả các pixel trong một khối có cùng hoạt động chuyển động Trong BMA, chuyển động được ước tính trên cơ sở các khối hình chữ nhật và một Vectơ chuyển động (MV) được tạo cho mỗi khối
Do một phạm vi tìm kiếm nhất định, một cửa sổ nhưcấu trúc được hình thành trong hệ quy chiếu, được gọi là Cửa sổ Tìm kiếm (SW) Đối với phạm vi tìm kiếm [−p , + p] và MB
có kích thước N × N, quan hệ không gian-mối quan hệ giữa MB hiện tại và SW được thể hiện trong Hình 2.1
Quá trình đối sánh giữa block hiện thời với một trong các block ứng cử viên được quy
về một điểm được tìm kiếm trong cửa sổ tìm kiếm Nếu tìm tất cả các điểm trong cửa sổ tìm kiếm thì đảm bảo sẽ tìm được điểm có độ méo nhỏ nhất
Trang 12Hình 2.1: Ước lượng chuyển động theo khối
Sự kết hợp tiêu chí của BMA có tác động trực tiếp đến hiệu quả mã hóa và tính toán sự phức tạp Nhiều tiêu chí phù hợp đã được đề xuất trong tài liệu, ví dụ: sai số bình phương, Tổng số chênh lệch tuyệt đối (SAD), phân loại chênh lệch pel, v.v Trong số các tiêu chí đối sánh được đề xuất khác nhau, tính toán SAD chỉ yêu cầumột vài bước tính toán đơn giản
• Sai số bình phương trung bình MSE
MSE của một block gồm các pixel được tính với độ dịch chuyển (𝑤𝑥, 𝑤𝑦) trong frame tham chiếu có công thức như sau:
• Tổng trị tuyệt đối sự sai khác SAD
Giống như tiêu chuẩn MSE, SAD cũng coi các giá trị sai khác là dương, nhưng thay
vì lấy tổng của bình phương
Đánh giá SAD cho một vị trí nhất định (m, n) trong SW được thực hiện như: