1/11/10

KỸ THUẬT HIỂN THỊ VÀ ĐIỀU PHỐI HIỂN THỊ HÌNH ẢNH

KỸ THUẬT HIỂN THỊ VÀ ĐIỀU PHỐI HIỂN THỊ HÌNH ẢNH
Nguyễn Phát Nhựt, Đoàn Thiện Minh

Tóm tắt
Trong bài báo này, tác giả trình bày một phương pháp tiếp cận mới điều phối hiển thị hình ảnh trên hệ thống nhiều màn hình LCD ghép. Đó là sử dụng thuật toán một pha và thuật toán hai pha thay thế thuật toán đồng bộ hóa bộ đệm đang sử dụng trong SAGE để đồng bộ hóa giữa các máy tính và tăng hiệu suất hiển thị ảnh (video, hình ảnh) một cách liền mạch.
Từ khoá: đồ họa, tính toán song song, đồng bộ hóa.

1.      Giới thiệu

Việc tính toán hiệu suất cao (high-performance computing) đã chứng minh giá trị của mình trong các lĩnh vực khoa học, y học, kỹ thuật, giáo dục, và giải trí. Dữ liệu có nội dung và chất lượng cao được tạo ra dựa trên công nghệ tính toán lưới hoặc máy tính hiệu năng cao đạt tới terabyte dữ liệu. Với dữ liệu khổng lồ, đặc biệt dữ liệu hình ảnh thì cần thiết có màn hình hiển thị độ phân giải cao để hiển thị. Với màn hình LCD ghép lát gạch [2,3] với nhau tạo môi trường hiển thị độ phân giải cao. Cụ thể tại phòng thí nghiệm Electonic Visualization Laboratory (EVL) của Đại học Illinois Chicago đã triển khai dự án OptIPuter – hệ thống trao đổi hình ảnh độ phân giải cao.
SAGE[3] là phần mềm hỗ trợ môi trường hiển thị trực quan độ phân giải cao, hiển thị hình ảnh trên nhiều màn hình. SAGE quản lý nhiều ứng dụng chạy song song và hiển thị ở bất kỳ phần nào trên màn hình (xem hình 1). 

 Hình 1. Nhiều ứng dụng hiển thị trên màn hình ghép

1.       Vấn đề và phương pháp tiếp cận
      Hiển thị ảnh trên một màn hình rộng độ phân giải cao[1]. Ví dụ hiển thị ảnh có độ phân giải 3840x3072 pixels ~11Mpixels, với màn hình LCD (1280x1024 pixels, cần 9 màn hình LCD ghép sát lại với nhau. Độ phân giải của màn hình là tổng độ phân giải của các màn hình nhỏ ghép lại: 3840x3072 pixels ~11Mpixels
Hình 1. Hiển thi ảnh có độ phân giải 3800x3000 pixels lên 9 màn hình LCD

                Vấn đề đặt ra là làm thế nào để tăng hiệu suất hiển thị trực quan trên màn hình ghép. Một cách tiếp cận để giải quyết vấn đề này là đồng bộ hóa hiển thị trên màn hình ghép để hiển thị ảnh  liền mạch và đồng nhất (xem hình 1). Sử dụng thuật toán [3,4] để trích xuất hình ảnh và tính toán chia đồng đều các điểm ảnh một cách tự động cho tất cả các nút hiển thị. Để thực hiện điều này, phải duy trì ba bối cảnh khác nhau trong chương trình; một là bối cảnh hình ảnh theo thứ tự kích thước của hình ảnh, hai là bối cảnh hiển thị trong màn hình hiển thị lát gạch theo tọa độ và ba là bối cảnh trên mỗi màn hình nhỏ ở mức cục bộ (local). 
 
Hình 3. Chạy ứng dụng trong SAGE với bốn nút hiển thị với hai ứng dụng App1 và App2, phân phối trên nút 0, 1, 2 và nút 1, 2, và 3 tương ứng.
Một số nghiên cứu về màn hình kích thước lớn tiêu biểu trên Thế giới như:
-          Dự án “Scalable Pixel Distribution for High-Resolution Collaborative Visualization on Tiled Displays” của trường Đại học Illinois Chicago (UIC) và trung tâm Electronic Visualization Laboratory (EVL) tại Hoa Kỳ,  http://www.sagecommons.org/
-          Dự án “OptIPuter (viết tắt của Optical networking, Internet Protocol, computer storage)“ là sự kết hợp bởi National Science Foundation (NSF), Biomedical Informatics Research Network (BIRN) và trường Đại học California, San Diego http://www.vislab.uq.edu.au/research/optiputer/
-          Dự án “CGLX (Cross-Platform Cluster Graphic Library )” của Viện Viễn thông và Công nghệ thông tin (Calit2) và trường Đại học California, San Diego http://vis.ucsd.edu/~cglx/

1.      Phương pháp tiếp cận

Thiết lập hệ thống cluster màn hình ghép
 
Để có được màn hình có độ phân giải cao 3840x3072 pixels, ghép 9 màn hình LCD (1280 x 1024 pixels) lại với nhau. Mỗi màn hình được điều khiển bởi một máy tính có cấu hình bộ vi xử lý intel core 2 Dual 2,4 GHz, 4 GB RAM, 512KB cache bộ nhớ, card đồ họa Nvidia AGP 250, 1 card GigE. Cluster chạy Linux kernel 2.6 – cài đặt bản phân phối Rocksclusters. Các máy tính kết nối với nhau thông qua Switch Giga 10/100/1000 theo giao thức TCP/IP - tốc độ truyền dữ liệu cao. Việc thiết kế hệ thống không khó, nó giống như một mạng LAN bình thường, nhưng có điểm khác biệt là các máy tính kết nối theo mô hình cluster – tính toán song song và bộ nhớ phân tán.

      Kỹ thuật đồng bộ hiển thị trên màn hình ghép

Đồng bộ hóa bộ đệm thiết bị mà SAGE đang sử dụng bị hạn chế về tốc độ hiển thị. Tác giả trình bày hai thuật toán đồng bộ: thuật toán một pha và thuật toán hai pha thay cho thuật toán củ của SAGE.

Thuật toán hai pha

            Thuật toán hai pha gồm hai giai đoạn riêng biệt: đồng bộ hóa dữ liệu cho tất cả các ứng dụng và đồng bộ trao đổi vùng đệm cho các sự kiện trên tất cả các nút hiển thị. Hình 5 mô tả thuật toán đồng bộ hóa hai pha. Trong trường hợp đồng bộ tổng thể SYNC MASTER, khi nhận được một Frame mới tương ứng của ứng dụng, các nút sẽ gửi thông điệp gồm ID của frame mới và ID của nút tiếp nhận ứng dụng vào MASTER SYNC. Các MASTER SYNC có bộ đếm thời gian định kỳ được gọi là Sync Refresh Rate (SRR). Khi bộ đếm thời gian kết thúc, SYNC MASTER tính số frame cao nhất cho mỗi ứng dụng trên tất cả các nút. Sau khi tính toán xong cho mỗi ứng dụng, các MASTER SYNC gửi thông điệp cho NDM trên mỗi node. Thông điệp này chứa một danh sách số frame mỗi ứng dụng. Các NDM trên mỗi nút sử dụng danh sách này theo thứ tự các frame trong đó để hiển thị trên màn tương ứng mỗi ứng dụng. Khi kết thúc giai đoạn đầu, NDM mỗi node thực hiện giai đoạn thứ hai là đồng bộ hóa bộ đệm. Đồng bộ hóa bộ đệm các NDM với nhau để quản lý nhiều ứng dụng trên màn hình hiển thị. 
Hình 5. Thuật toán đồng bộ hóa Hai pha. Giai đoạn đầu đảm bảo
đồng bộ hóa dữ liệu, và giai đoạn thứ hai đảm bảo đồng bộ bộ đệm.

Thuật toán một pha

Trong thuật toàn một pha, đồng bộ hóa dữ liệu và đồng bộ hóa bộ đệm được gom chung trong một giai đoạn duy nhất. Các thủ tục đồng bộ hóa dữ liệu giống với giai đoạn đầu của thuật toán hai pha. Có một thuật ngữ được giới thiệu trong thuật toán là thời gian hiển thị (PT) để thông báo cho mỗi NDM về thời gian trao đổi nội dung bộ đệm. Sau khi tính toán số frame cho mỗi ứng dụng, các PT của SYNC MASTER cộng thêm thời gian hiển thị là Time Offset (PTO) tại thời điểm hiện tại. Các MASTER SYNC gửi thông điệp đến từng NDM. Thông điệp này chứa các PT và danh sách số frame của mỗi ứng dụng. Mỗi NDM chờ một khoảng thời gian PT và sau đó hiển thị frame tương ứng cho từng ứng dụng. PTO phụ thuộc vào các yếu tố: tải tính toán trên mỗi node, thời gian truyền dữ liệu, và tỷ lệ số frame cao nhất giữa tất cả các ứng dụng.

1.      Kết quả

Một số kết quả sau đây hệ thống đã hiển thị được:
-          Hệ thống hiển thị hình ảnh, video HD bằng sử dụng các phần mềm SVC, mplayer, VLC, VNCViewer.
 
-          Ứng dụng đề tài: Với màn hình hiển thị kích thước lớn, độ phân giải cao phù hợp cho công việc hiển thị ảnh y khoa. Ứng dụng hiển thị ảnh y khoa giúp cho các Bác sĩ dễ dàng quan sát và chẩn đoán bệnh lý dễ dàng hơn.

1.      Kết luận, hướng phát triển

Thiết lập hệ thống hiển thị bằng cách ghép các màn hình LCD lại với nhau có độ tương tác cao, hiển thị ứng dụng trực quan như ảnh 2D, 3D, video HD, truy cập từ xa. Kết hợp môi trường đồ họa SAGE và cải tiến thuật toán đồng bộ hóa hiển thị sẽ tạo ra môi trường tương tác cao hơn. Ứng dụng hệ thống hiện thị vào môi trường y tế sẽ mở ra nhiều vấn đề phát triển trong tương lai.

Bài đăng phổ biến