1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển, tối ưu thuật toán adaptive page layout trên pc

52 322 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Lời cảm ơn Trước tiên, muốn gửi lời cảm ơn sâu sắc tới T.S Nguyễn Việt Hà, phó hiệu trưởng trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội, Th.S Vũ Quang Dũng, giảng viên môn Công nghệ phần mềm, trường Đại học Công Nghệ Các thầy hết lịng hướng dẫn tơi suốt trình nghiên cứu khoa học thực khóa luận tốt nghiệp Tơi xin chân thành cảm ơn đội ngũ thầy cô trường Đại học Công Nghệ cung cấp cho tảng kiến thức q báu giúp đỡ tận tình để tơi hồn thành khóa luận Tơi xin cảm ơn tới thành viên phòng nghiên cứu Toshiba-Coltech giúp tơi có mơi trường nghiên cứu khoa học ln nhiệt tình trao đổi tài liệu kiến thức chuyên môn Cuối cùng, xin gửi lời cảm ơn đến gia đình người thân tơi, người ln động viên tơi lúc khó khăn giúp đỡ tơi suốt q trình học tập Hà Nội, 15 tháng năm 2010 Sinh viên, Cao Bắc Tiến i Tóm tắt nội dung KLTN Page layout thuật toán ứng dụng nhiều toán hiển thị tương tác với người sử dụng Ngày nay, với phổ biến thiết bị di động (TBDĐ) đời sống người vấn đề mang ý nghĩa thiết thực Vấn đề đặt đưa toán hiển thị PC trước chuyển sang TBDĐ với kích cỡ hình hạn chế thay đổi Cơng việc chuyển đổi địi hỏi u cầu tối ưu thuật tốn để phù hợp với đặc tính xử lý hiển thị TBDĐ Nội dung khóa luận hướng đến việc phát triển, tối ưu thuật toán Adaptive Page Layout mặt tăng hiệu suất xử lý (tốc độ xử lý, nhớ) yêu cầu giao diện hiển thị Để kiểm chứng phương thức tối ưu, tiến hành cài đặt thuật toán thực kiểm thử với môi trường Desktop PC thiết bị nhúng (ARM) Đồng thời, liệu sử dụng để kiểm thử liệu kiểm tra sức khỏe bên phía Toshiba cung cấp tốn ứng dụng Health Examination Visualization Q trình thực nhóm nghiên cứu phịng thí nghiệm Toshiba - Coltech Để giải quyết, tiến hành cài đặt tối ưu phần với môi trường linux (trên PC) Tiếp theo việc tối ưu phép xử lý từ Floating point sang Fixed point, số vấn đề hiển thị khác chip ARM nhúng linux hỗ trợ xử lý đồ họa OpenGL|ES 2.0 Phần đầu thực - Cao Bắc Tiến phần thứ hai đảm nhiệm bạn Nguyễn Tài Tuệ ii Abstract Page Layout is an algorithm which is used regularly in display and user interface interaction problems With the increasing popularity of mobile devices nowadays, the problems become more necessary The question is how to port that algorithm onto mobile devices which have limited and various screen The solving of its porting involes a need to optimize the algorithm to be in accord with features of processing and displaying Our thesis tends to improve, optimize algorithm Adaptive Page Layout in perfomance of processing (speed of processing, memory consumption) as well as satisfying requirement of user interface To verify effect of optimizing method, we present the methods to implement algorithm and test it using a desktop Linux and an embedded (ARM) enviroment For more effectiveness of our verified method, the data using in test are given by Toshiba Corporation for Health Examination Visualization application The process is done by research and development group of Toshiba-Coltech laboratory We also verify by optimizing in floating point calculation into fix point calculation which has more effective to work with ARM embedded linux supporting OpenGL|ES 2.0 graphic environment The part of testing and improving algorithm is done by me - Cao Bắc Tiến and the other part will be done by Nguyễn Tài Tuệ iii Mục lục Mở đầu Cơ sở lý thuyết 2.1 Adaptive Page Layout 2.2 Thư viện ZUI Cippolo 2.2.1 Kiến trúc Cippolo 2.2.2 Kịch hoạt động Cippolo 10 2.2.3 Các thuật tốn xử lý 11 2.2.4 Phân loại hàm Cippolo 12 OpenCV 12 2.3 Bài toán đặt 13 3.1 Tốc độ xử lý, giới hạn nhớ 13 3.2 Các yêu cầu giao diện người dùng 14 Giải pháp 15 4.1 Triển khai thuật toán linux 15 4.2 Tối ưu tốc độ xử lý sử dụng nhớ 17 iv MỤC LỤC 4.2.1 17 4.2.2 Thay nhị phân 18 Tối ưu mặt giao diện người dùng 20 4.3.1 Sử dụng tỉ lệ tương đối 20 4.3.2 4.3 Phân hoạch node Kéo dãn khối hình 20 Thực nghiệm - Demo 22 5.1 Thực nghiệm 22 5.2 Health Data Visualization 24 5.2.1 Tóm tắt đặc tả yêu cầu phần mềm 25 5.2.2 Các bước phát triển hệ thống 28 5.2.3 Kiến trúc chương trình 29 5.2.4 Demo chương trình 29 Kết luận hướng phát triển 32 6.1 Kết luận 32 6.2 Một số hướng phát triển 32 A Phụ lục 34 A.1 Thuật toán chuyển đổi từ trung tố sang hậu tố (infix to postfix) 34 A.2 Mẫu ghi liệu sức khỏe phía Toshiba cung cấp 36 A.3 Demo chương trình hiển thị ảnh 36 A.4 Phiên HEDV phát triển tảng Window 36 Tài liệu tham khảo 42 v Danh sách hình vẽ 2.1 Biểu đồ khối thuật toán APL 2.2 Các mẫu với số khối hình 2.3 Biểu đồ khối Phân hoạch node sử dụng APL 2.4 Ví dụ minh họa cách xếp hình 2.5 Ví dụ minh họa nhị phân sau chèn 2.6 Ví dụ minh họa cách xếp 2.7 Tổng quan Cippolo 10 2.8 Kịch hoạt động Cippolo 11 3.1 Yêu cầu cải thiện mặt giao diện 14 4.1 Mô hình cài đặt APL khơng có xử lý đồ họa 16 4.2 Mơ hình cài đặt APL với OpenCV 17 4.3 Mơ hình xây dựng dàn trang 21 5.1 Đồ thị thời gian thực thi chương trình trước sau tối ưu 23 5.2 Đồ thị diện tích bao phủ khối hình trước sau tối ưu 24 5.3 Kiến trúc tổng quát HEDV 25 vi DANH SÁCH HÌNH VẼ 5.4 Mơ hình ca sử dụng (usecase) HEDV 26 5.5 Cách chia mục hình chữ nhật (sử dụng HEDV) 28 5.6 Giao diện HEDV yêu cầu (cung cấp phía Toshiba) 28 5.7 Biểu đồ thiết kế hệ thống HEDV 30 5.8 Đồ thị kết kiểm thử HEDV 30 5.9 Demo chương trình HEDV 31 A.1 Quá trình thực thi thuật toán "infix to postfix" 35 A.2 Giao diện demo chương trình hiển thị ảnh 37 A.3 Demo HEDV phiên Window với mục chia theo đường chéo 38 A.4 Demo HEDV phiên Window với mục chia theo treemap 39 A.5 Chức hiển thị khối hình HEDV 39 A.6 Chức chọn mục liệu HEDV 40 A.7 Chức tùy chọn hiển thị HEDV 40 A.8 Chức chọn lọc liệu HEDV 41 vii Danh sách bảng Bảng từ viết tắt ix 2.1 Phân loại hàm Cippolo 12 5.1 Kết test thời gian thực thi (milli giây) 22 5.2 Kết test diện tích che phủ (%) 23 5.3 Kịch hoạt động 27 5.4 Kết kiểm thử demo chương trình 31 A.1 Giá trị chuẩn liệu kiểm tra sức khỏe 36 viii Bảng từ viết tắt STT Từ cụm từ Từ viết tắt Adaptive Page Layout APL Personal Computer PC Health Examination Data Visu- HEDV alization Thiết bị di động TBDĐ Zoomable User Interface ZUI Bảng 1: Bảng từ viết tắt ix Chú thích Dàn trang mang tính thích ứng Máy tính cá nhân Hệ thống trực quan hóa liệu kiểm tra sức khỏe Giao diện người dùng hỗ trợ "zoom" CHƯƠNG Mở đầu Trong năm gần đây, TBDĐ dần trở thành thiết bị thông tin phổ biến hỗ trợ người sử dụng Chúng có mặt khắp nơi dễ dàng bắt gặp chúng lúc sống Cùng với điều này, việc hiển thị, tương tác người dùng dành cho TBDĐ trở thành vấn đề nghiên cứu quan tâm Khi mà dung lượng nhớ TBDĐ ngày lớn mang lại lợi ích việc lưu trữ tài liệu, hình ảnh, video, tạo khó khăn việc tìm kiếm hiển thị chúng Mặt khác, với phát triển, công nghệ ngày (điển hình hệ thống Ambient Assisted Living [2]) cho phép người sử dụng hiển thị hay phát liệu (video, hình ảnh, ) giống nhiều thiết bị khác iPod, Tivi, điện thoại, hay hình định hướng GPS xe Mặc dù thiết bị có kích cỡ hiển thị khác nhau, nội dung video, hình ảnh cần hiển thị với layout thích ứng với hình Giả sử rằng, đầu tiên, người dùng kiểm tra tập video gia đình tivi 45-inch, kích thước 16:9 phịng khách, sau người chuyển vào phòng làm việc tiếp tục cơng việc máy tính xách tay với hình 12-inch, 4:3, cuối kết thúc cơng việc với hình hiển thị nhỏ 3-inch, 3:4 điện thoại động ngồi ban cơng Thumbnail hiển thị video phải chuyển đổi không ngừng tương ứng với hình hiển thị thời gian thực nhằm cung cấp giao diện người dùng mang tính thích ứng cách thơng minh Trong trường hợp này, việc dàn trang nhanh chóng mang tính thích ứng cần thiết CHƯƠNG 5: THỰC NGHIỆM - DEMO - Phân tích sở liệu sức khỏe - Cài đặt thuật toán APL vào ứng dụng trực quan hóa liệu sức khỏe môi trường Linux - Sử dụng môi trường đồ họa WideStudio để xây dựng giao diện đồ họa Linux - Kiểm thử với liệu thực xem xét thời gian chạy, nhớ sử dụng với số ghi liệu tăng lên 5.2.3 Kiến trúc chương trình Thuật tốn APL cài đặt module sử dụng hệ thống Khi phát triển hệ thống HEDV, chúng tơi có cài đặt sử dụng thêm thư viện ZUI Cippolo nhằm hỗ trợ người dùng việc "zoom" liệu Và, cài đặt thuật toán Treemap để sinh cấu trúc treemap cho mục hình chữ nhật Giao diện đồ họa chương trình xây dựng WideStudio Cũng cần nhấn mạnh rằng, thời gian để nhóm nghiên cứu làm quen với mơi trường đồ họa ngắn, nảy sinh nhiều khó khăn để xây dựng, phát triển hệ thống ứng dụng Thiết kế hệ thống thể qua biểu đồ gói hình 5.7 5.2.4 Demo chương trình Kết kiểm thử Với mơi trường tiến hành kiểm thử: PC: Celeron 2.8 GHz, RAM 512 MB Hệ điều hành: Debian 2.6 Kết kiểm thử thống kê bảng 5.4 Qua đồ thị 5.8, ta nhận thấy, tăng số lượng ghi liệu kéo theo thời gian xử lý tăng không ảnh hưởng đáng kể tới dung lượng nhớ sử dụng Điều cho thấy, tiêu tốn nhớ sinh có tải ghi cần thiết vào 29 CHƯƠNG 5: THỰC NGHIỆM - DEMO Hình 5.7: Biểu đồ thiết kế hệ thống HEDV Hình 5.8: Đồ thị kết kiểm thử HEDV nhớ cịn ghi chưa (hoặc khơng) sử dụng không cấp phát nhớ Qua số liệu kiểm thử cho thấy, giải pháp tối ưu nhớ trường hợp tỏ 30 CHƯƠNG 5: THỰC NGHIỆM - DEMO Bảng 5.4: Kết kiểm thử demo chương trình STT Số ghi 10 20 50 100 150 200 250 300 10 350 11 400 12 450 13 500 Thời gian (mili giây) 0 20 230 1540 5360 12470 26270 46230 76090 111230 162870 223160 Bộ nhớ (MB) 1.2 1.2 1.2 1.2 1.3 1.3 1.3 1.4 1.4 1.4 1.4 1.4 1.4 thực hiệu Ngoài ra, cần để ý rằng, số ghi tăng khơng vượt q 350 thời gian thực thi có tăng khơng đáng kể Đây là kết khả quan việc tối ưu tốc độ xử lý Một số hình ảnh giao diện chương trình Hình 5.9 thể giao diện chương trình Chi tiết, xem phần Phụ lục để hiểu rõ tính cách sử dụng (a) Theo đường chéo (b) Theo treemap Hình 5.9: Demo chương trình HEDV 31 CHƯƠNG Kết luận hướng phát triển 6.1 Kết luận Trong khóa luận này, chúng tơi trình bày phương pháp tối ưu thuật toán Adaptive Page Layout hệ thống PC: Giảm số phân hoạch node, Thay nhị phân, Kéo giãn khối hình hay Sử dụng tỉ lệ tương đối Qua demo kết thực nghiệm chứng tỏ tiềm phương pháp Đây tiền đề cho việc triển khai tối ưu tiếp hệ thống nhúng (ARM) Mặt khác, hi vọng phương pháp tối ưu APL mà đề xuất với kết thực nghiệm có tạo điều kiện cho nhóm nghiên cứu quan tâm tới vấn đề có sở tiến hành so sánh, đánh giá hồn thiện phương pháp 6.2 Một số hướng phát triển Qua khóa luận này, cho thấy việc tối ưu thuật toán Adaptive Page Layout mang lại ý nghĩa quan trọng toán dàn trang thiết bị di động mà cịn có ý nghĩa tốn xây dựng phịng thí nghiệm giai đoạn tới Trong tương lai, kết tối ưu cải thiện, tiếp tục nghiên cứu phát triển 32 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN tốn mơ hình hóa liệu tảng 3D số toán liên quan khác 33 PHỤ LỤC A Phụ lục A.1 Thuật toán chuyển đổi từ trung tố sang hậu tố (infix to postfix) Trong đại số thông thường, sử dụng kí hiệu dạng trung tố a+b*c Biểu thức với kí hiệu biểu diễn dạng hậu tố tương ứng abc*+ Thuật toán chuyển từ trung tố sang hậu tố tiến hành sau: • Quét xâu trung tố từ trái qua phải • Khởi tạo ngăn xếp rỗng • Nếu kí tự qt tốn hạng, thêm vào xâu hậu tố Nếu kí tự qt tốn tử ngăn xếp rỗng đẩy kí tự vào ngăn xếp – Nếu kí tự qt tốn hạng ngăn xếp khơng rỗng so sánh quyền ưu tiên (ví dụ, phép nhân có quyền cao phép cộng) kí tự với phần tử đỉnh ngăn xếp (topStack) Nếu topStack có quyền ưu tiên cao kí tự qt đẩy khỏi ngăn xếp, ngược lại, đẩy kí tự quét vào ngăn xếp Lặp lại bước ngăn xếp không rỗng topStack có quyền ưu tiên cao kí tự 34 PHỤ LỤC A: PHỤ LỤC quét Lặp lại bước tất kí tự qt • Sau tất kí tự quét, phải thêm kí tự có tới xâu hậu tố Nếu ngăn xếp không rỗng, thêm topStack vào xâu hậu tố đẩy khỏi ngăn xếp Lặp lại bước ngăn xếp chưa rỗng • Trả xâu hậu tố Để hình dung rõ thuật tốn thực nào, xét ví dụ với xâu trung tố: a+b*c-d Q trình thuật tốn mơ tả qua hình A.1 Hình A.1: Q trình thực thi thuật tốn "infix to postfix" 35 PHỤ LỤC A: PHỤ LỤC A.2 Mẫu ghi liệu sức khỏe phía Toshiba cung cấp Bảng A.1: Giá trị chuẩn liệu kiểm tra sức khỏe Item BMI BPT (Blood pressure top number) BPB (Blood pressure bottom number) WBC (white blood cell) GOT (AST) GPT (ALT) r-GTP T.CH NF (Neutral fat) HDL-C (HDL-Cholesterol) LDL-C (LDL-Cholesterol) UC (Uric acid) BS (Blood sugar) HbA1c Standard value Lower limit 18.5 3000 100 20 40 60 Upper limit 25 140 80 10000 40 40 80 220 150 140 7.0 110 5.8 Unit mmHG mmHG /ul IU/I IU/I IU/I Mg/dl Mg/dl Mg/dl Mg/dl Mg/dl Mg/dl % A.3 Demo chương trình hiển thị ảnh Đây demo ứng dụng đơn giản cho phép người dùng tập ảnh lưu trữ hình hiển thị theo cách dàn trang tốt Chương trình đơn sử dụng APL thư viện xử lý ảnh OpenCV A.4 Phiên HEDV phát triển tảng Window Cửa sổ hiển thị danh sách menu, thành phần quản lý để tùy biến hiển thị liệu Để nhập liệu khám sức khỏe, người dùng sử dụng File menu Người dùng hiển thị liệu khối hình (sau trực quan hóa) sử dụng Tool menu, 36 PHỤ LỤC A: PHỤ LỤC Hình A.2: Giao diện demo chương trình hiển thị ảnh chọn View selected block đúp chuột trực tiếp lên khối hình hình hiển thị Dữ liệu khối hình hiển thị dạng sau (hình A.5) Người dùng hiển thị danh sách màu tương ứng với mục liệu sức khỏe cách chọn Show Items Colors form Để phóng to hay thu nhỏ khối hình, người dùng chọn kiểu "zoom" menu Tương ứng, Zoom In - dể phóng to, Zoom Out - để thu nhỏ Người dùng lựa chọn mục liệu liệt kê combo box, đó, liệu hiển thị tổ chức lại để tương quan với giá trị chuẩn hóa dựa vào mục chọn (hình A.6) Để thay đổi cách hiển thị mục liệu khối hình, người dùng cần chọn kiểu hiển thị combo box mục Display types "Diagonal" để hiển thị theo đường chéo, "Squarified" để hiển thị theo Squarified treemap Kích cỡ khối hình tương 37 PHỤ LỤC A: PHỤ LỤC Hình A.3: Demo HEDV phiên Window với mục chia theo đường chéo ứng với độ lớn số liệu thuộc mục Mặt khác, phần Show sub items cho phép người dùng tùy chọn để hiển thị mục cần thiết khối hình (hình A.7) Sau chọn khối hình, người dùng tùy biến diện tích hiển thị việc lọc liệu dựa giá trị khối hình chọn Đồng thời, người dùng thay đổi, việc lọc mục liệu cách chọn mục để lọc combo box (hình A.8), 38 PHỤ LỤC A: PHỤ LỤC Hình A.4: Demo HEDV phiên Window với mục chia theo treemap Hình A.5: Chức hiển thị khối hình HEDV 39 PHỤ LỤC A: PHỤ LỤC Hình A.6: Chức chọn mục liệu HEDV Hình A.7: Chức tùy chọn hiển thị HEDV 40 PHỤ LỤC A: PHỤ LỤC Hình A.8: Chức chọn lọc liệu HEDV 41 Tài liệu tham khảo [1] Cliff Brake Power management in portable arm based systems [2] Michael Huch Ambient assisted living preparation of new european initiative for it supported solutions Technical report [3] A Girgensohn S Uchihashi, J Foote and J Boreczky Video manga: Generating semantically meaningful video summaries ACM Press, 1999 [4] Ji-Rong Wen Wei-Ying Ma Deng Cai, Shipeng Yu Vips: a vision-based page segmentation algorithm Technical report, Microsoft Research - Microsoft Corporation, 2003 [5] Amit Madaan Srinivasan H Sengamedu, Rupesh R Mehta Web page layout optimization using section importance 2009 [6] David H Salesin Charles Jacobs, Wilmot Li Adaptive document layout via manifold content [7] Takashi MORIMOTO Xinxiao LI*, Yoshifumi TAKAYAMA Adaptive page layout for ordered blocks 2008 [8] OpenGL ES Common Profile Specification Version 2.0.24 (Full Specification) 2009 [9] ARM System Developers Guide-Designing and Optimizing System Software Morgan Kaufmann, 2004 [10] URL http://www.piccolo2d.org/ 42 TÀI LIỆU THAM KHẢO [11] Kees Huizing Mark Bruls and Jarke J van Wijk Squarified treemaps 1999 [12] Intel Corporation Open Source Computer Vision Library Intel Corporation [13] Đinh Mạnh Tường Cấu trúc liệu giải thuật Đại học Quốc Gia Hà Nội, 2008 [14] Viet-Ha Nguyen Vu Quang Dung, Xinxiao Li Implementing adaptive page layout algorithm on embedded devices In KSE2009 43 ... việc phát triển, tối ưu thuật toán Adaptive Page Layout mặt tăng hiệu suất xử lý (tốc độ xử lý, nhớ) yêu cầu giao diện hiển thị Để kiểm chứng phương thức tối ưu, tiến hành cài đặt thuật tốn thực... nhiều thuật toán dàn trang (page layout) nghiên cứu phát triển : Layout Manga Algorithm [3], VIPS (Vision-based Page Segmentation Algorithm) [4] hay Web Page Layout [5], Adaptive Document Layout. .. chúng tơi 2.1 Adaptive Page Layout Tóm lược thuật tốn Thuật tốn Adaptive Page Layout [7] áp dụng để đưa cách dàn trang tối ưu (về mặt không gian che phủ yếu tố khác độ quan trọng, độ ưu tiên ) cho

Ngày đăng: 13/07/2014, 16:48

Xem thêm: Phát triển, tối ưu thuật toán adaptive page layout trên pc

TỪ KHÓA LIÊN QUAN

Mục lục

    Tóm tắt nội dung KLTN

    Bảng từ viết tắt

    2 Cơ sở lý thuyết

    2.2 Thư viện ZUI Cippolo

    2.2.2 Kịch bản hoạt động của Cippolo

    2.2.3 Các thuật toán xử lý chính

    2.2.4 Phân loại hàm trong Cippolo

    3 Bài toán đặt ra

    3.1 Tốc độ xử lý, giới hạn bộ nhớ

    3.2 Các yêu cầu về giao diện người dùng

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w