Luận văn: Nghiên cứu & Đánh giá Thuật toán Ước lượng Chuyển động trong Mã hóa Video

Tìm hiểu về ước lượng chuyển động, thuật toán quan trọng trong mã hóa video. Khám phá nguyên lý và các phương pháp giúp nén video hiệu quả.

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ kỹ thuật

2021

59
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

1. CHƯƠNG I: TỔNG QUAN VỀ MÃ HÓA VIDEO

1.1. Nguyên tắc mã hóa video

1.2. Kỹ thuật giảm dư thừa thông tin trong miền không gian

1.3. Kỹ thuật giảm dư thừa thông tin trong miền thời gian

1.4. Sơ đồ tổng quát mã hóa video

1.5. Các tiêu chuẩn cho mã hóa tín hiệu video

1.6. Kết luận chương

2. CHƯƠNG II: NGHIÊN CỨU CÁC THUẬT TOÁN ƯỚC LƯỢNG CHUYỂN ĐỘNG TRONG MÃ HÓA VIDEO

2.1. Thuật toán tìm kiếm theo khối BMA (Block Matching Algorithm)

2.2. Thuật toán tìm kiếm đầy đủ FSA (Full Search Algorithm)

2.3. Thuật toán tìm kiếm nhanh (Fast Search Algorithm)

2.4. Thuật toán tìm kiếm ba bước TSS (Three-step search algorithm)

2.5. Thuật toán Diamond Search

2.6. Thuật toán TZ search

2.7. Thuật toán OTA (One-at-a-time Search Algorithm)

2.8. Kết Luận chương

3. CHƯƠNG III: MÔ PHỎNG VÀ ĐÁNH GIÁ CÁC THUẬT TOÁN ƯỚC LƯỢNG CHUYỂN ĐỘNG TRONG MÃ HÓA VIDEO

3.1. Giới thiệu phần mềm mô phỏng

3.2. Các thông số đánh giá

3.2.1. Tỷ lệ tín hiệu trên nhiễu đỉnh (Peak Signal-to-Noise Ratio)

3.2.2. Số lượng bit dùng để mã hóa trong một giây (Bitrate) và thời gian mã hóa

3.3. So sánh và đánh giá các thuật toán thông qua phần mềm mô phỏng

3.3.1. Các chuỗi video dùng để đánh giá

3.3.2. Kết quả mô phỏng

KẾT LUẬN VÀ KIẾN NGHỊ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Ước lượng chuyển động Cách kỹ thuật này tối ưu mã hóa video hiệu quả

Trong kỷ nguyên số, video đã trở thành phương tiện truyền tải thông tin không thể thiếu, từ giải trí, học tập trực tuyến đến an ninh giám sát. Với sự phát triển của công nghệ 4K, 8K và mạng 5G, nhu cầu về chất lượng video ngày càng cao, đồng thời đòi hỏi khả năng lưu trữ và truyền tải dữ liệu hiệu quả. Đây chính là lúc mã hóa video phát huy vai trò quan trọng, giúp giảm kích thước tệp mà vẫn giữ nguyên trải nghiệm người dùng [1].

cốt lõi của mã hóa video nằm ở việc loại bỏ thông tin dư thừa. Có hai loại dư thừa chính: dư thừa trong miền không gian (giữa các pixel trong cùng một khung hình) và dư thừa trong miền thời gian (giữa các khung hình liên tiếp). Để giảm thiểu dư thừa thời gian, kỹ thuật ước lượng chuyển động (Motion Estimation - ME) được áp dụng. Kỹ thuật này tìm kiếm sự dịch chuyển của các khối ảnh giữa các khung hình kề nhau, từ đó sinh ra các vector chuyển động.

Các vector chuyển động này không chỉ giúp mô tả sự thay đổi mà còn là nền tảng cho bù chuyển động (Motion Compensation), cho phép dự đoán khung hình hiện tại dựa trên khung hình trước đó và các vector này. Nhờ đó, lượng thông tin cần mã hóa chỉ còn là sự khác biệt nhỏ giữa khung hình dự đoán và khung hình thực tế, gọi là khung dư thừa. Quá trình này giúp đạt được tỷ lệ nén cao mà vẫn đảm bảo chất lượng video. Sự nghiên cứu và tối ưu hóa thuật toán ước lượng chuyển động liên tục là chìa khóa để nâng cao hiệu suất tổng thể của các chuẩn mã hóa video hiện đại như H.264, H.265/HEVC và AV1.

1.1. Vai trò then chốt của ước lượng chuyển động trong nén video

Nén video là quá trình giảm lượng dữ liệu cần thiết để biểu diễn một chuỗi video. Mục tiêu chính là giảm kích thước tệp mà không làm giảm đáng kể chất lượng video. Các phương pháp nén video thường dựa vào việc loại bỏ các thông tin dư thừa. Trong đó, loại bỏ dư thừa thời gian là đặc biệt quan trọng cho các chuỗi video có nhiều chuyển động. Ước lượng chuyển động đóng vai trò trung tâm trong quá trình này, đặc biệt trong kỹ thuật nén video inter-frame (nén liên khung). Thay vì mã hóa toàn bộ mỗi khung hình, các thuật toán ước lượng chuyển động xác định cách các đối tượng hoặc khu vực trong video di chuyển từ khung hình này sang khung hình khác. Thông tin này được biểu diễn dưới dạng vector chuyển động, giúp bộ mã hóa chỉ cần lưu trữ sự khác biệt giữa khung hình hiện tại và khung hình được dự đoán từ khung hình tham chiếu. Nhờ đó, lượng dữ liệu được giảm đáng kể, tối ưu hóa băng thông truyền tải và dung lượng lưu trữ, điều cần thiết cho xử lý video thời gian thực.

1.2. Bù chuyển động Nguyên lý giảm dư thừa thông tin liên khung hiệu quả

Sau khi quá trình ước lượng chuyển động tính toán và tìm ra các vector chuyển động cho mỗi khối (macroblock), kỹ thuật bù chuyển động sẽ sử dụng thông tin này để tái tạo một phiên bản dự đoán của khung hình hiện tại. Cụ thể, dựa vào các vector chuyển động và các khối tương ứng từ khung hình tham chiếu (trước hoặc sau), một khung hình dự đoán được xây dựng. Sự khác biệt giữa khung hình thực tế và khung hình dự đoán này, được gọi là tín hiệu sai số hoặc khung dư thừa, thường có năng lượng rất thấp và do đó, có thể được nén video hiệu quả hơn nhiều so với việc mã hóa toàn bộ khung hình gốc. Theo tài liệu [1], quá trình này giúp giảm đáng kể lượng thông tin cần truyền đi, vì chỉ cần mã hóa các vector chuyển động và khung dư thừa. Điều này là cốt lõi cho các tiêu chuẩn mã hóa video tiên tiến như H.264H.265/HEVC, cho phép đạt được tỷ lệ nén cao mà vẫn duy trì chất lượng video chấp nhận được, thậm chí với video độ phân giải cao.

II. Thách thức lớn Giải quyết độ phức tạp tính toán khi nghiên cứu thuật toán ước lượng chuyển động

Mặc dù ước lượng chuyển động mang lại lợi ích to lớn trong việc nén video, việc triển khai các thuật toán ước lượng chuyển động này không hề đơn giản. Một trong những thách thức lớn nhất là độ phức tạp tính toán (computational complexity). Các thuật toán truyền thống như tìm kiếm đầy đủ (Full Search), dù đạt độ chính xác cao, nhưng lại đòi hỏi một lượng lớn phép tính, đặc biệt với video có độ phân giải cao (như 4K, 8K) và tốc độ khung hình lớn.

Vấn đề này càng trở nên nghiêm trọng khi xem xét yêu cầu xử lý video thời gian thực. Để một hệ thống mã hóa video hoạt động mượt mà trong các ứng dụng như truyền hình trực tiếp, hội nghị truyền hình, hoặc game streaming, quá trình ước lượng chuyển động cần phải diễn ra cực kỳ nhanh chóng. Việc tối ưu hóa độ phức tạp tính toán mà vẫn giữ được chất lượng video mong muốn là một bài toán khó. Các nhà nghiên cứu liên tục tìm cách phát triển các thuật toán tìm kiếm nhanh hơn để giảm gánh nặng cho CPU/GPU mà không làm giảm đáng kể tỷ lệ tín hiệu trên nhiễu đỉnh (PSNR) hay các chỉ số chất lượng video khác.

Ngoài ra, việc cân bằng giữa chất lượng videotỷ lệ nén cũng là một thách thức không nhỏ. Một thuật toán ước lượng chuyển động có thể cho tỷ lệ nén rất cao nhưng lại làm giảm chất lượng video một cách đáng kể, hoặc ngược lại, giữ chất lượng video tốt nhưng hiệu quả nén video không cao. Việc tìm ra điểm cân bằng tối ưu là mục tiêu chính của nhiều nghiên cứu thuật toán mã hóa video hiện nay, đòi hỏi sự đánh giá kỹ lưỡng thông qua các mô phỏng và tiêu chí cụ thể.

2.1. Yêu cầu xử lý video thời gian thực và gánh nặng tài nguyên

Trong nhiều ứng dụng ước lượng chuyển động thực tế, khả năng xử lý video thời gian thực là yếu tố then chốt. Chẳng hạn, trong các hệ thống hội nghị truyền hình hay livestream, việc mã hóa và truyền tải video phải diễn ra gần như tức thì để đảm bảo trải nghiệm liền mạch cho người dùng. Tuy nhiên, các thuật toán ước lượng chuyển động truyền thống, đặc biệt là những thuật toán đạt độ chính xác cao, thường đòi hỏi độ phức tạp tính toán lớn. Điều này dẫn đến gánh nặng tài nguyên đáng kể cho bộ xử lý (CPU/GPU) hoặc kiến trúc phần cứng ước lượng chuyển động chuyên dụng. Để đáp ứng yêu cầu thời gian thực, các nhà nghiên cứu phải tối ưu hóa thuật toán bằng cách giảm số lượng phép tính, sử dụng các phương pháp tìm kiếm heuristic hoặc song song hóa. Mục tiêu là đạt được sự cân bằng giữa tốc độ xử lý và chất lượng video đầu ra, đảm bảo rằng nén video diễn ra nhanh chóng mà không gây giật lag hoặc giảm chất lượng hình ảnh quá mức cho phép.

2.2. Cân bằng chất lượng video và tỷ lệ nén Bài toán khó

Mục tiêu cơ bản của mã hóa video là đạt được tỷ lệ nén cao nhất có thể trong khi vẫn duy trì chất lượng video chấp nhận được. Đây là một bài toán cân bằng phức tạp. Khi các thuật toán ước lượng chuyển động được thiết kế, có một sự đánh đổi cố hữu giữa độ chính xác của vector chuyển độngđộ phức tạp tính toán. Một thuật toán càng tìm kiếm kỹ lưỡng để tìm vector chuyển động tối ưu, thì chất lượng video dự đoán sẽ càng cao, dẫn đến khung dư thừa nhỏ hơn và tỷ lệ nén tốt hơn. Tuy nhiên, điều này lại tăng độ phức tạp tính toán và thời gian xử lý. Ngược lại, một thuật toán nhanh có thể bỏ lỡ vector chuyển động tối ưu, dẫn đến khung dư thừa lớn hơn, giảm tỷ lệ nén hoặc chất lượng video xuống thấp hơn. Các chỉ số như PSNR (Peak Signal-to-Noise Ratio) và SSIM (Structural Similarity Index Measure) được sử dụng để định lượng chất lượng video, trong khi Bitrate phản ánh tỷ lệ nén. Việc tìm ra thuật toán ước lượng chuyển động tối ưu đòi hỏi sự đánh giá cẩn thận trên nhiều tiêu chí này.

III. Phương pháp Block Matching Bí quyết nền tảng cho thuật toán ước lượng chuyển động

Nền tảng của hầu hết các thuật toán ước lượng chuyển động trong mã hóa video hiện đại là phương pháp Block Matching (kết hợp khối). Kỹ thuật này hoạt động dựa trên nguyên lý chia khung hình hiện tại thành các khối (thường là macroblock) và sau đó tìm kiếm các khối tương ứng trong khung hình tham chiếu (khung hình trước đó hoặc khung hình sau đó) trong một vùng tìm kiếm nhất định. Mục tiêu là tìm ra vị trí của khối trong khung hình tham chiếu có sự tương đồng cao nhất với khối hiện tại.

Để đo lường sự tương đồng này, các hàm chi phí (cost function) thường được sử dụng, phổ biến nhất là SAD (Sum of Absolute Differences - Tổng số chênh lệch tuyệt đối) hoặc MSE (Mean Squared Error - Sai số bình phương trung bình). Giá trị SAD hoặc MSE càng thấp thì hai khối càng giống nhau, và vector chuyển động được gán cho khối đó là vector dẫn đến vị trí tương ứng trong khung hình tham chiếu. Quá trình này tạo ra một tập hợp các vector chuyển động cho toàn bộ khung hình, sau đó được sử dụng trong bước bù chuyển động.

Phương pháp block matching đơn giản nhưng hiệu quả, tạo thành xương sống cho nhiều tiêu chuẩn mã hóa video quan trọng. Tuy nhiên, hiệu quả của nó phụ thuộc rất nhiều vào thuật toán tìm kiếm được sử dụng. Một thuật toán kém hiệu quả có thể dẫn đến độ phức tạp tính toán cao hoặc kết quả ước lượng chuyển động không chính xác, ảnh hưởng đến cả tỷ lệ nénchất lượng video. Do đó, việc nghiên cứu và phát triển các thuật toán tìm kiếm nhanh và chính xác là trọng tâm của lĩnh vực này.

3.1. Thuật toán tìm kiếm đầy đủ Full Search Độ chính xác và chi phí

Thuật toán tìm kiếm đầy đủ (Full Search Algorithm - FSA) là phương pháp cơ bản nhất trong Block Matching để xác định vector chuyển động. Theo tài liệu [1], FSA hoạt động bằng cách so sánh từng khối (macroblock) trong khung hình hiện tại với tất cả các khối có thể có trong vùng tìm kiếm đã định trước trên khung hình tham chiếu. Với mỗi vị trí tiềm năng, hàm chi phí (ví dụ SAD) được tính toán. Vector chuyển động cuối cùng được chọn là vector dẫn đến vị trí có giá trị hàm chi phí nhỏ nhất. Lợi thế lớn nhất của FSA là độ chính xác cao, vì nó đảm bảo tìm ra vector chuyển động tối ưu nhất trong vùng tìm kiếm. Điều này đồng nghĩa với việc tạo ra tín hiệu sai số nhỏ nhất sau bù chuyển động, từ đó mang lại chất lượng video cao nhất và tỷ lệ nén tốt nhất có thể. Tuy nhiên, nhược điểm chính của FSA là độ phức tạp tính toán cực kỳ cao, đặc biệt khi vùng tìm kiếm lớn hoặc độ phân giải video cao, khiến nó không phù hợp cho các ứng dụng xử lý video thời gian thực.

3.2. Hướng dẫn các thuật toán tìm kiếm nhanh giảm độ phức tạp tính toán

Để khắc phục hạn chế về độ phức tạp tính toán của tìm kiếm đầy đủ, nhiều thuật toán tìm kiếm nhanh đã được phát triển. Mục tiêu chính là giảm số lượng điểm tìm kiếm trong vùng tìm kiếm mà vẫn cố gắng tìm ra vector chuyển động gần tối ưu nhất. Các thuật toán này thường sử dụng các chiến lược heuristic, tận dụng đặc tính chuyển động của video (ví dụ, chuyển động thường có tính liên tục và không quá đột ngột). Thay vì kiểm tra mọi điểm ảnh, chúng chỉ kiểm tra một tập hợp con các điểm được chọn một cách thông minh, thường là theo một mẫu hình nhất định hoặc dựa trên kết quả tìm kiếm các bước trước đó. Các phương pháp này bao gồm tìm kiếm ba bước (Three-Step Search - TSS), tìm kiếm kim cương (Diamond Search - DS), tìm kiếm sáu bước (Six-Step Search - 6SS), và nhiều biến thể khác. Mặc dù có thể hy sinh một phần nhỏ chất lượng video so với FSA, nhưng chúng giảm đáng kể thời gian mã hóađộ phức tạp tính toán, làm cho ước lượng chuyển động khả thi hơn cho xử lý video thời gian thựckiến trúc phần cứng ước lượng chuyển động.

IV. Top các thuật toán ước lượng chuyển động tìm kiếm nhanh tối ưu nén video

Sự phát triển của mã hóa video đòi hỏi các thuật toán ước lượng chuyển động phải vừa chính xác vừa nhanh. Nhiều thuật toán tìm kiếm nhanh đã được đề xuất nhằm tối ưu hóa sự cân bằng giữa chất lượng videođộ phức tạp tính toán. Các thuật toán này thường giảm số lượng điểm tìm kiếm so với Full Search nhưng vẫn cố gắng tìm ra vector chuyển động hiệu quả nhất.

Một số thuật toán nổi bật bao gồm Three-Step Search (TSS), Diamond Search (DS), và các biến thể như TZ Search hay One-at-a-time Search (OTA). Mỗi thuật toán có một chiến lược tìm kiếm riêng, từ việc di chuyển theo các bước cố định đến việc sử dụng các mẫu tìm kiếm động. Ví dụ, TSS bắt đầu với một bước lớn và thu nhỏ dần, trong khi DS sử dụng hình thoi để tập trung tìm kiếm vào các khu vực có khả năng chứa vector chuyển động tốt nhất. Mục tiêu chung là giảm thiểu thời gian mã hóa và yêu cầu xử lý, điều này rất quan trọng đối với các ứng dụng ước lượng chuyển động trong các thiết bị di động và xử lý video thời gian thực.

Việc lựa chọn thuật toán ước lượng chuyển động phù hợp phụ thuộc vào nhiều yếu tố như yêu cầu về chất lượng video (đo bằng PSNR, SSIM), tốc độ xử lý, và kiến trúc phần cứng ước lượng chuyển động. Các nghiên cứu thuật toán mã hóa video liên tục so sánh và cải tiến các phương pháp này để đạt được hiệu quả nén video cao hơn với chi phí tài nguyên thấp hơn, đặc biệt quan trọng trong bối cảnh các tiêu chuẩn mã hóa video mới liên tục ra đời.

4.1. Tìm kiếm ba bước Three Step Search TSS Giải pháp kinh điển

Thuật toán tìm kiếm ba bước (Three-Step Search - TSS) là một trong những thuật toán tìm kiếm nhanh đầu tiên và được nghiên cứu rộng rãi trong lĩnh vực ước lượng chuyển động. TSS hoạt động theo ba giai đoạn: bắt đầu với một vùng tìm kiếm lớn và một bước nhảy lớn (ví dụ, 4 pixel), tìm kiếm 8 điểm lân cận xung quanh tâm. Sau khi tìm được điểm có hàm chi phí (ví dụ SAD) nhỏ nhất, tâm tìm kiếm sẽ dịch chuyển đến điểm đó. Bước nhảy sau đó được giảm một nửa (ví dụ, 2 pixel), và quá trình tìm kiếm 8 điểm lân cận lặp lại. Cuối cùng, bước nhảy được giảm xuống 1 pixel để tìm kiếm mịn hơn. Theo tài liệu [1], TSS giảm đáng kể số lượng phép tính so với tìm kiếm đầy đủ, làm cho nó khả thi hơn cho xử lý video thời gian thực. Mặc dù có thể không đạt được vector chuyển động tối ưu tuyệt đối như FSA, TSS vẫn cung cấp hiệu suất tốt và đã trở thành một nền tảng để phát triển các thuật toán tìm kiếm nhanh khác, góp phần cải thiện hiệu suất ước lượng chuyển động trong mã hóa video.

4.2. Diamond Search DS Mẫu tìm kiếm hiệu quả

Thuật toán Diamond Search (DS) là một thuật toán tìm kiếm nhanh khác, được biết đến với hiệu quả vượt trội so với TSS trong nhiều trường hợp. Theo tài liệu [12-15], DS sử dụng một mẫu tìm kiếm dạng hình thoi (Diamond Search Pattern) thay vì mẫu vuông. Thuật toán bắt đầu với một hình thoi lớn (LDSP - Large Diamond Search Pattern) tại tâm, kiểm tra các điểm trên các đỉnh của hình thoi. Điểm có hàm chi phí thấp nhất sẽ trở thành tâm mới cho vòng tìm kiếm tiếp theo. Quá trình này lặp lại cho đến khi điểm tối ưu nằm ở tâm của hình thoi tìm kiếm. Khi đó, thuật toán chuyển sang sử dụng hình thoi nhỏ (SDSP - Small Diamond Search Pattern) để tinh chỉnh kết quả, tìm kiếm trong 8 điểm lân cận gần điểm tối ưu cuối cùng. DS được đánh giá cao vì khả năng đạt được chất lượng video (PSNR) rất gần với tìm kiếm đầy đủ nhưng với độ phức tạp tính toán giảm đáng kể, khiến nó trở thành lựa chọn phổ biến trong các bộ mã hóa video hiện đại và góp phần vào việc tối ưu hóa thuật toán ước lượng chuyển động.

4.3. TZ Search và OTA Nâng cao hiệu suất tìm kiếm

Bên cạnh các thuật toán như TSS và DS, các phương pháp như TZ SearchOne-at-a-time Search (OTA) cũng đóng góp vào việc nâng cao hiệu suất ước lượng chuyển động. TZ Search, được mô tả chi tiết trong tài liệu [1], là một thuật toán phức tạp hơn, kết hợp nhiều giai đoạn tìm kiếm từ tìm kiếm hình thoi đến tìm kiếm raster để đảm bảo độ chính xác cao trong khi vẫn giữ được tốc độ. Nó được sử dụng trong các mô hình tham chiếu của các tiêu chuẩn mã hóa video tiên tiến như HEVC (H.265), ví dụ trong phần mềm HM (HEVC Test Model) [8]. Ngược lại, OTA là một thuật toán đơn giản nhưng hiệu quả, tìm kiếm theo chiều ngang và dọc, tập trung vào việc giảm thiểu số lượng điểm kiểm tra để đạt được tốc độ nhanh. Các phiên bản cải tiến như NOTA (New One at a Time Algorithm) tiếp tục giảm độ phức tạp tính toán hơn nữa. Sự phát triển liên tục của các thuật toán này nhằm mục đích đáp ứng nhu cầu ngày càng cao về nén video hiệu quả, đặc biệt trong các ứng dụng ước lượng chuyển động đòi hỏi xử lý video thời gian thực.

V. Đánh giá hiệu suất thuật toán ước lượng chuyển động Kết quả nghiên cứu thực tế

Để thực sự hiểu được hiệu quả của các thuật toán ước lượng chuyển động, việc đánh giá hiệu suất ước lượng chuyển động thông qua mô phỏng là vô cùng quan trọng. Các nghiên cứu thuật toán mã hóa video thường sử dụng phần mềm mô phỏng chuyên dụng, như HM (HEVC Test Model) được đề cập trong tài liệu [8], để kiểm thử các phương pháp khác nhau. Quá trình này bao gồm việc mã hóa một loạt chuỗi video đầu vào với các thuật toán ước lượng chuyển động khác nhau và sau đó phân tích kết quả dựa trên các tiêu chí cụ thể.

Các thông số đánh giá chính bao gồm tỷ lệ tín hiệu trên nhiễu đỉnh (PSNR), số lượng bit dùng để mã hóa trong một giây (Bitrate), và thời gian mã hóa. PSNR đo lường sự khác biệt giữa video gốc và video sau khi giải mã, phản ánh chất lượng video thu được. Bitrate cho biết hiệu quả nén video, tức là lượng dữ liệu cần thiết để biểu diễn video. Thời gian mã hóa phản ánh độ phức tạp tính toán và khả năng xử lý video thời gian thực của thuật toán. Kết quả mô phỏng giúp các nhà nghiên cứu so sánh trực tiếp hiệu năng của tìm kiếm đầy đủ (Full Search) với các thuật toán tìm kiếm nhanh như TZ Search, Diamond Search, hay các phương pháp khác. Qua đó, họ có thể rút ra kết luận về ưu nhược điểm của từng thuật toán và đề xuất các cải tiến để tối ưu hóa thuật toán trong tương lai, hướng tới việc nâng cao cả chất lượng video và hiệu suất nén video.

5.1. Tiêu chí quan trọng PSNR Bitrate và thời gian mã hóa

Trong việc đánh giá hiệu suất ước lượng chuyển động, có ba tiêu chí chính được sử dụng rộng rãi để định lượng hiệu quả của thuật toán ước lượng chuyển động: Tỷ lệ tín hiệu trên nhiễu đỉnh (PSNR), Số lượng bit dùng để mã hóa trong một giây (Bitrate)Thời gian mã hóa. PSNR là thước đo khách quan phổ biến nhất cho chất lượng video sau khi nén và giải mã. Theo tài liệu [1], giá trị PSNR càng cao (thường từ 30dB trở lên), video sau giải mã càng giống với video gốc. Bitrate thể hiện hiệu quả của quá trình nén video: Bitrate càng thấp với chất lượng video tương đương thì thuật toán càng hiệu quả. Cuối cùng, thời gian mã hóa đo lường độ phức tạp tính toán của thuật toán. Một thuật toánthời gian mã hóa thấp hơn sẽ phù hợp hơn cho xử lý video thời gian thực và các ứng dụng ước lượng chuyển động yêu cầu tốc độ. Việc phân tích và so sánh các thuật toán dựa trên cả ba tiêu chí này giúp các nhà nghiên cứu có cái nhìn toàn diện về hiệu năng của chúng trong các tiêu chuẩn mã hóa video khác nhau.

5.2. Phân tích kết quả mô phỏng các thuật toán ước lượng chuyển động

Kết quả mô phỏng từ các nghiên cứu thuật toán mã hóa video là bằng chứng thực nghiệm quan trọng để đánh giá hiệu quả của ước lượng chuyển động. Tài liệu [8] đề cập đến việc sử dụng phần mềm HM (HEVC Test Model) để kiểm thử hiệu năng của các phương pháp như Full Search, TZ Search, Selective, và Enhanced Diamond. Các kết quả này thường được trình bày dưới dạng bảng so sánh PSNR, Bitratethời gian mã hóa cho các chuỗi video đầu vào khác nhau (ví dụ, các loại video có chuyển động nhanh, chậm, hoặc nội dung phức tạp). Phân tích cho thấy Full Search thường đạt PSNR cao nhất nhưng có thời gian mã hóa lâu nhất, trong khi các thuật toán tìm kiếm nhanh như TZ Search hay Diamond Search có thể đạt PSNR rất gần với Full Search nhưng với thời gian mã hóa giảm đáng kể [1]. Những phân tích này giúp xác định thuật toán nào phù hợp nhất cho từng ứng dụng ước lượng chuyển động cụ thể, dựa trên sự cân bằng mong muốn giữa chất lượng video, tỷ lệ nénđộ phức tạp tính toán, đồng thời mở ra hướng đi để tối ưu hóa thuật toán trong tương lai.

VI. Tương lai ước lượng chuyển động Xu hướng máy học và tối ưu hóa thuật toán

Lĩnh vực ước lượng chuyển động đang chứng kiến những bước tiến đáng kể, đặc biệt với sự hội nhập của máy học trong ước lượng chuyển độngDeep Learning cho nén video. Khi nhu cầu về chất lượng video tiếp tục tăng cao với các định dạng như 8K và video 360 độ, các thuật toán truyền thống đối mặt với giới hạn về hiệu suất và độ phức tạp tính toán. Đây là lúc các phương pháp dựa trên học sâu (Deep Learning) trở nên hứa hẹn.

Các mô hình Deep Learning có khả năng học các mẫu chuyển động phức tạp hơn, từ đó tạo ra vector chuyển động chính xác hơn và cải thiện đáng kể quá trình dự đoán liên khung. Điều này không chỉ giúp giảm lượng thông tin dư thừa mà còn cho phép các bộ mã hóa đạt được tỷ lệ nén cao hơn trong khi vẫn duy trì hoặc thậm chí nâng cao chất lượng video. Các tiêu chuẩn mã hóa video thế hệ mới như AV1 cũng đang tích hợp những ý tưởng từ học sâu để tối ưu hóa hiệu quả.

Ngoài ra, tối ưu hóa thuật toán không chỉ dừng lại ở phần mềm. Kiến trúc phần cứng ước lượng chuyển động chuyên dụng (ASIC, FPGA) cũng đóng vai trò quan trọng trong việc tăng tốc độ xử lý video thời gian thực. Sự kết hợp giữa thuật toán thông minh, công nghệ học máy tiên tiến và phần cứng hiệu quả sẽ định hình tương lai của ước lượng chuyển động, mở ra cánh cửa cho các ứng dụng ước lượng chuyển động mới và nâng cao trải nghiệm video cho người dùng trên toàn cầu.

6.1. Vai trò của Deep Learning cho nén video và dự đoán liên khung

Sự phát triển của Deep Learning đã mở ra một kỷ nguyên mới cho nén video, đặc biệt trong lĩnh vực ước lượng chuyển động. Các mạng nơ-ron tích chập (CNN) hoặc mạng nơ-ron tái phát (RNN) có khả năng học các đặc trưng phức tạp của chuyển động trong video mà các thuật toán truyền thống khó có thể nắm bắt. Thay vì chỉ tìm kiếm các khối tương tự, các mô hình học sâu có thể dự đoán liên khung một cách thông minh hơn, tạo ra vector chuyển động chính xác hơn và thậm chí dự đoán các khối bị che khuất. Điều này dẫn đến sự cải thiện đáng kể trong việc tạo ra khung dư thừa nhỏ hơn, từ đó tăng tỷ lệ nénchất lượng video. Deep Learning cho nén video không chỉ được ứng dụng để tăng hiệu quả của ước lượng chuyển động mà còn trong các khía cạnh khác của mã hóa video như lượng tử hóamã hóa entropy, hứa hẹn một tương lai với video chất lượng cao hơn và yêu cầu băng thông thấp hơn.

6.2. Hướng kiến trúc phần cứng ước lượng chuyển động và ứng dụng ước lượng chuyển động

Để đáp ứng yêu cầu ngày càng cao về xử lý video thời gian thực cho video độ phân giải siêu cao (UHD), bên cạnh việc tối ưu hóa thuật toán phần mềm, kiến trúc phần cứng ước lượng chuyển động chuyên dụng đang trở thành một hướng nghiên cứu quan trọng. Các bộ tăng tốc phần cứng (hardware accelerators) như FPGA (Field-Programmable Gate Array) và ASIC (Application-Specific Integrated Circuit) được thiết kế để thực hiện các phép tính ước lượng chuyển động phức tạp một cách song song và hiệu quả. Việc triển khai các thuật toán ước lượng chuyển động trực tiếp trên phần cứng giúp giảm đáng kể độ phức tạp tính toán và tiêu thụ năng lượng so với việc chạy trên CPU/GPU đa năng. Các ứng dụng ước lượng chuyển động không chỉ giới hạn trong nén video mà còn mở rộng sang các lĩnh vực như thị giác máy tính, phân tích chuyển động, và thực tế ảo/tăng cường, nơi mà tốc độ và hiệu quả của phần cứng là yếu tố then chốt.

30/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG I: TỔNG QUAN VỀ MÃ HÓA VIDEO 1. Truyền tải thông tin bằng hình ảnh, âm thanh là một trong các phương pháp hữu dụng thể hiện rõ thông điệp, và video sự kết hợp của hai phương pháp trên trở thành phương tiện hữu ích trong thời đại đa phương tiện hiện nay. Video được tạo thành từ các hình ảnh liên tiếp được phát liên tục với tốc độ 18, 24 hình/ giây. Sử dụng đặc điểm mắt người ta có một đoạn phim với các hình ảnh chuyển động mượt mà.

Việc tiếp nhận thông tin qua video không chỉ giúp người dùng dễ dàng tiếp nhận thông tin mà còn giảm thời gian tiếp thu so với sách báo. Từ đó mở ra một kênh phương tiện tiếp nhận thông tin mới qua các kênh tin tức truyền hình, các bộ phim điện ảnh…Ngoài ra video còn góp phần trong an ninh qua các camera giám sát được sử dụng ở mọi đơn vị và nhà riêng. Và còn rất nhiều các lĩnh vực sử dụng video như nghiên cứu khoa học, quân sự, y khoa… Từ sự thuận tiện và phổ biến của video việc mã hóa và truyền tín hiệu video đóng vai trò quan trọng, giải quyết các bài toán về dữ liệu lưu trữ, tốc độ đường truyền. Về cơ bản kỹ thuật mã hóa video là làm giảm bớt các thông tin không cần thiết trong video mà không làm ảnh hưởng đến chất lượng trải nghiệm của người xem.

Lượng thông tin dư thừa trong video gồm hai loại là dư thừa thông tin trong miền không gian (trong mỗi khung hình) và dư thừa thông tin trong miền thời gian (trong các khung hình liên tiếp). Mã hóa video làm giảm số bit khi lưu trữ hoặc khi truyền. Các kỹ thuật mã hóa entropy được sử dụng để làm giảm lượng thông tin dư thừa và giữ lại các tin quan trọng. 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 khung hình trong chuỗi video và giữa các pixel trong cùng một khung hình 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à 3 không làm ảnh hưởng tới độ phân giải của ảnh. Ngoài ra, khai thác đặc điểm của mắt người là kém nhạy cảm với một số thông tin hình ảnh theo không gian và thời gian nên có thể loại bỏ thông tin này trong quá trình nén. Đây chính là kỹ thuật nén tổn hao để tiết kiệm băng thông trong khi vẫn đảm bảo chất lượng video ở mức có thể chấp nhận được. Nội dung được tham khảo tại tài liệu [1] Trong quá trình nén ảnh tĩnh, kỹ thuật nén sử dụng mối tương quan theo không gian giữa các pixel trong ảnh.

Kỹ thuật này gọi là nén “trong ảnh” (Intraframe). Thuật ngữ này có hàm ý rằng trong quá trình nén ảnh, thông tin được sử dụng chỉ trong phạm vi nội tại bức ảnh đó. Đây là kỹ thuật cơ bản của chuẩn nén JPEG sẽ được giới thiệu trong phần sau. Trường hợp nếu mối tương quan theo thời gian được khai thác thì kỹ thuật nén được gọi là nén “ngoài ảnh” (Interframe).

Khi đó thông tin được sử dụng để nén ảnh có thể nằm trên một bức ảnh trước hoặc sau trong chuỗi video. Đây là kỹ thuật được sử dụng trong các chuẩn nén video như H. Nguyên lý của việc nén video dựa trên các kỹ thuật giảm các dư thừa thông tin sau: - 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 khung hình. - Dư thừa thông tin trong dữ liệu ảnh sau khi nén: Để loại bỏ dư thừa này người ta dùng mã entropy, cụ thể là mã có độ dài thay đổi (Variable Length Coding). Kỹ thuật giảm dư thừa thông tin trong miền không gian [1] a.

Mã hóa bằng phương pháp dự đoán Tại thời điểm ban đầu, 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 4 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).1 mô tả sơ đồ khối của bộ mã hóa này. Theo sơ đồ, sự sai khác giữa giá trị của pixel hiện tại và giá trị dự đoán từ bộ dự đoán được lượng tử và mã hóa trước khi truyền đi. Tại phía giải mã, sự sai khác này được cộng với giá trị dự đoán từ bộ dự đoán để khôi phục lại giá trị đúng của pixel hiện tại.

Trong trường hợp bộ lượng tử không được sử dụng thì kỹ thuật này được gọi là mã hóa không tổn hao (loss-less coding).1: Sơ đồ khối của bộ CODEC dpcm trong xử lý video 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 đó. Các pixel liền kề có thể nằm trong cùng khung hình (mã hóa nội ảnh) hoặc có thể nằm trong khung hình trước (mã hóa liên ảnh). Nếu bộ dự đoán sử dụng cả hai kỹ thuật trên thì được gọi là “mã hóa dự đoán lai” (Hybrid predictive coding). Mã hóa bằng phương pháp biến đổi Hình 1.2 mô tả các bước trong quá trình mã hóa bằng biến đổi các giá trị của các điểm ảnh trong khung hình từ miền không gian sang miền tần số.2: Mã hóa biến đổi Tương tự như trong mã hóa hình ảnh tĩnh, trong mã hóa tín hiệu video, biến đổi DCT cũng được sử dụng.

Tuy nhiên, chúng ta lưu ý rằng phép biến đổi các giá trị từ miền không gian pixel sang miền không gian khác chưa phải là nén tín hiệu. Một khối 64 pixel qua phép biến đổi DCT ta thu được 64 hệ số DCT. Do tính trực giao của phép biến đổi, năng lượng trên cả hai miền pixel và miền không gian sau biến đổi đều bằng nhau. Tuy nhiên, phép biến đổi làm cho năng lượng của ảnh được tập trung chủ yếu trong vùng của các hệ số DCT gần với hệ số 1 chiều (vùng tần số thấp) trong khi phần lớn các hệ số khác mang năng lượng ít hơn.

Hệ số DC có giá trị cao nhất. Các hệ số AC càng xa hệ số DC thì giá trị càng bé. Dựa vào đặc điểm của mắt người là ít nhạy cảm với các hình ảnh bị méo ở tần số cao nên bộ lượng tử được sử dụng nhằm loại bỏ đi các hệ số AC tại vùng tần số này.2 biểu diễn các giá trị đầu vào và đầu ra của bộ lượng tử. Như ta thấy, với các hệ số có giá trị nhỏ sau khi qua bộ lượng tử sẽ bị nén về mức 0.

Đây chính là quá trình loại bỏ những hệ số DCT ở vùng tần số cao. 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 6 Hình 1.3: Biểu diễn bộ lượng tử (a) UTQ và (b) UTQ-DZ Trong bộ lượng tử UTQ, các hệ số F(u,v) được lượng tử bởi công thức: 𝐹(𝑢, 𝑣) ± 𝑞 𝐼(𝑢, 𝑣) = ⌊ ⌋ (1.

Tại phía giải mã, các hệ số được giải lượng tử theo công thức: 𝐹 𝑞 (𝑢, 𝑣) = 𝐼(𝑢, 𝑣) × 2𝑞 (1.2) Trong bộ lượng tử UTQ-DZ, các chỉ số lượng tử được tính bởi công thức: 𝐹(𝑢, 𝑣) 𝐼(𝑢, 𝑣) = ⌊ ⌋ (1.3) 2𝑞 Giá trị giải lượng tử phía giải nén được tính bởi công thức: 𝐹 𝑞 (𝑢, 𝑣 ) = {2𝐼(𝑢, 𝑣) ± 1} × 𝑞 (1. 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. Đây chính là thuật toán mã hóa liên ảnh. Đối với các đối tượng tĩnh trong ảnh, sự khác biệt gần như bằng 0.

Do vậy những đối tượng này không cần nhiều thông tin để mã hóa. Ngược lại, đối với các đối tượng chuyển động nhiều, sự khác biệt giữa các khung hình là rất lớn. Điều này đồng nghĩa với việc chúng ta cần nhiều thông tin để mã hóa. Để 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 đó.4 mô tả quá trình tạo ra khung hình dư thừa (residual frame) bằng cách lấy khung hình hiện tại trừ cho khung hình dự đoán.

28 Bước 3: Di chuyển lưới 3 x 3 nhỏ hơn sao cho tâm cửa sổ là điểm chiến thắng ở bước 1. Đánh giá thêm 5 hoặc 3 điểm tùy theo vị trí của điểm chiến thắng lúc trước. Sau đó quá trình tìm kiếm sẽ dừng và điểm có BDM nhỏ nhất là điểm chiến thắng. Bước 4: Giảm kích thước bước của lưới 3 x 3 lớn hơn xuống một nửa và dịch chuyển tâm về vị trí có BDM nhỏ nhất ở bước 1, và vì vậy tiếp tục tiến trình giống của thuật toán TSS cho đến khi kích thước bước bằng 1.

Thuật toán Diamond Search [12-15] Thuật toán DS sử dụng mẫu điểm tìm kiếm dạng hình thoi và thuật toán chạy chính xác như 4SS. Tuy nhiên lại không có giới hạn về số các bước mà thuật toán cần thực hiện. Để tìm kiếm có hai loại mẫu cố định khác nhau: • Mẫu tìm kiếm hình thoi lớn (LDSP- Large Diamond Search Pattern). • Mẫu tìm kiếm hình thoi nhỏ (SDSP- Small Diamond Search Pattern).

Thuật toán như sau: LDSP • Bắt đầu tại vị trí tâm.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ