Sự kiện „do-it-now‟

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu mô hình truyền hình lai ghép HbbTV và xây dựng ứng dụng minh họa (Trang 67)

Việc cập nhật thông tin trong AIT bằng cách chèn thêm ứng dụng và gán mã kiểm soát AUTOSTART được xem là cách đồng bộ đơn giản không cần thông tin đồng bộ. Cách này thường được dùng cho những ứng dụng tự động kích hoạt vào thời điểm nào đó khi chương trình diễn ra như quảng cáo tương tác, hiển thị thông tin thêm cho chương trình… Một số ứng dụng cần đồng bộ nhiều lần và có kèm

58

theo dữ liệu cho mỗi sự kiện như gameshow chẳng hạn, nhất thiết phải kết hợp với dòng thông tin đồng bộ.

“Do-it-now” là dạng sự kiện mà đầu thu sẽ báo cho ứng dụng ngay khi nhận được từ dòng truyền. Đây là sự kiện độc lập, việc đồng bộ không dựa vào thông tin thời gian hệ thống. Sự kiện “do-it-now‟ có event_id được quy định trong vùng giá trị từ 0x0001 đến 0x3FFF. Đầu thu cần phải xử lý đặc biệt để đảm bảo khả năng nhận được sự kiện với độ tin cậy cao nhất.

Với mỗi ứng dụng, không yêu cầu đầu thu phải theo dõi nhiều dòng con mang sự kiện “do-it-now”. Vì vậy, nếu nhiều sự kiện được định nghĩa tham chiếu đến dòng con khác nhau thì chỉ có một dòng con được dùng để nhận sự kiện. Phía phát phải truyền tất cả sự kiện cho một ứng dụng trong các gói có cùng PID.

Đầu thu dành riêng một bộ lọc section để theo dõi sự kiện trong dòng truyền nếu có ứng dụng đăng ký nhận sự kiện này. Bộ lọc nhận diện đúng sự kiện cần nhận dựa vào giá trị event_id (trường table_id_extension) trong section.

Mỗi khi nhận được sự kiện, đầu thu kiểm tra xem sự kiện có event_id nhận được có được định nghĩa trong OC không. Nếu có, sẽ tiếp tục kiểm tra event_id để chắc chắn là sự kiện “do-it-now” và kích hoạt ngay. Section sự kiện được truyền lặp lại nhiều lần trong khoảng thời gian nhất định với ba thông số chính table_id, event_id, version_number. Đầu thu tiến hành xử lý sự kiện ngay lần đầu tiên nhận được. Chuỗi section kế tiếp sẽ bị bỏ qua cho đến khi event_id hay version_number mới được phát hiện.

Thực ra, chuẩn MHP trước đây cũng như trong một số tài liệu của DVB có định nghĩa vài loại sự kiện khác, không được kích hoạt ngay mà chỉ được kích hoạt sau một khoảng thời gian định trước. Kiểu đồng bộ này dựa trên dòng thông tin thời gian bổ sung như dòng NPT (Normal Play Time, dựa trên thông tin PCR của chương trình) hay dòng DVB Timeline.

HbbTV chỉ hỗ trợ duy nhất loại sự kiện „do-it-now‟. Đây là loại sự kiện được sử dụng phổ biến. Trước hết do tính linh hoạt, có thể sử dụng „do-it-now‟ trong mọi trường hợp cần đồng bộ theo thời gian biểu. Kế đến là tính đơn giản vì đứng độc lập không dựa vào dòng thông tin thời gian bổ sung, giúp dễ dàng cho người viết ứng

59

dụng. Sau cùng là tính an toàn, bởi trong trường hợp đồng bộ dựa trên dòng thông tin thời gian NPT chẳng hạn, nếu giá trị PCR được phát sinh lại khi truyền qua một hệ thống khác, thời điểm đồng bộ sẽ không còn chính xác.

Điều cần lưu ý khi thực hiện đồng bộ là độ trễ khi thông tin báo hiệu được gửi tới ứng dụng. Độ trễ này tùy thuộc khả năng theo dõi và phân phối sự kiện của đầu thu. Rất khó để đồng bộ chính xác đến từng khung hình.

Qua báo cáo chương đã đưa ra quy tắc hoạt động và phương thức truyền tín hiệu của 2 dạng ứng dụng trong truyền hình lai ghép HbbTV, từ đó có cái nhìn tổng quan hơn về cơ chế hoạt động của truyền hình lai ghép HbbTV. Vậy để lập trình một ứng dụng trên nền tảng HbbTV cần những gì? Sử dụng ngôn ngữ nào? Quy tắc lập trình ra sao? Nó có khác gì so với ứng dụng web không? Trong chương tiếp theo của báo cáo sẽ trình bày rõ các vấn đề này.

60

CHƢƠNG 5: TÌM HIỂU MÔI TRƢỜNG TRIỂN KHAI VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA HBBTV

Tóm tắt: Trong chương 5 của luận văn mục tiêu chính là nghiên cứu các ngôn ngữ, công cụ hỗ trợ và quy tắc lập trình một ứng dụng trên nền tảng HbbTV. Từ đó xây dựng ứng dụng HbbTV minh họa chủ đề về du lịch, ứng dụng trên môi trường giả lập, nhằm làm rõ hơn về quy tắc hoạt động của ứng dụng trên nền tảng HbbTV.

5.1 Môi trƣờng triển khai ứng dụng HbbTV 5.1.1 Ngôn ngữ lập trình ứng dụng HbbTV

Phát triển ứng dụng web là một lĩnh vực rộng lớn với nhiều ngôn ngữ khác nhau cho cả phía client và server. Công cụ hỗ trợ phát triển web cũng phong phú không kém, từ viết code riêng lẻ đến những bộ công cụ tích hợp đầy đủ IDE (Intergrated Development Environment, môi trường phát triển tích hợp). Đặc biệt đối với ứng dụng HbbTV dùng ngôn ngữ kịch bản Javascript, rất nhiều công cụ miễn phí có thể chọn lựa như Notepad++, Eclipse, Netbeans, Aptana, Komodo Edit, PHP Designer,… Phần lớn công cụ này đều hỗ trợ các ngôn ngữ web phổ biến HTML, DOM, CSS, Javascipt, PHP. Tất cả các ngôn ngữ này đều được sử dụng khi viết ứng dụng thử nghiệm. Ngoài ra, việc thiết lập môi trường phát triển web cũng không quá phức tạp nhờ sự hỗ trợ của các bộ cài đặt nguồn mở có sẵn như WAMP, XAMPP, AppServ…

Trình duyệt là một công cụ khác cần phải có trong quá trình phát triển ứng dụng web. Hiện có rất nhiều trình duyệt phổ biến trong môi trường máy tính như IE, Firefox, Chrome, Opera, Safari,…Tuy nhiên tại thời điểm này chỉ có Firefox và Opera hỗ trợ HbbTV: FireHbbTV dạng công cụ cài thêm vào trình duyệt Firefox (plugin) ; Opera HbbTV Emulator dạng phần mềm chạy độc lập (cài đặt phức tạp, kích thước lớn). Tương tự như đối với thị trường đầu thu, việc hỗ trợ đầy đủ và hoàn thiện các tính năng chuẩn HbbTV trên 2 trình duyệt này vẫn còn rất hạn chế.

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu mô hình truyền hình lai ghép HbbTV và xây dựng ứng dụng minh họa (Trang 67)