DaVinci đi cùng MontaVista

Giải pháp tích hợp phần cứng và phần mềm tạo nên bước đột phá trong lĩnh vực ứng dụng video số, hứa hẹn đem đến thế hệ thiết bị video thông minh và đa năng.

Sự bùng nổ của dịch vụ video số YouTube (với cả trăm triệu lượt người xem mỗi ngày), cho thấy tiềm năng to lớn của thị trường này và khả năng tương tác với video (số) hứa hẹn mở ra cơ hội cho nhiều loại hình dịch vụ, và tạo nên các nguồn thu mới cho các nhà cung cấp dịch vụ và nội dung, ví dụ như video theo yêu cầu hay quảng cáo theo địa phương.

Ứng dụng dựa trên video đầy tiềm năng, tuy nhiên các nhà phát triển lại e ngại vì việc thực hiện cực kỳ phức tạp. Các chuẩn video thay đổi nhanh và việc nắm vững chúng (để viết code) mất nhiều thời gian. Trong khi đó, các giải pháp hiện có thường gắn chặt với một nền tảng hệ thống nhất định, việc chỉnh sửa code không đơn giản.

Tóm lại, việc thực hiện ứng dụng dựa trên video là quá trình phức tạp và mất nhiều thời gian, những điều này sẽ thay đổi nhờ công nghệ DaVinci.

Thách thức của video

Một trong những khó khăn chính đối với các nhà phát triển hiện nay là phải nhận diện chính xác đặc tính của video.

Video có thể được mã hóa theo một số định dạng khác nhau như MPEG-2, MPEG-4, WMV, DivX, H.264; có thể lưu trên nhiều loại phương tiện như bộ nhớ Flash, ổ cứng, DVD hay VCD, máy chủ (server) hay thiết bị giải trí cầm tay (PMP); có thể được truy cập theo nhiều cách như tập tin, truyền phát trên mạng có dây hay không dây, theo thời gian thực hay không... Ứng dụng video lý tưởng phải có khả năng xử lý các tình huống khác nhau này một cách "trong suốt".

Người dùng có thể không cần quan tâm đến nguồn phát của video, nhưng về mặt thực hiện, điều quan trọng là thiết bị video phải có khả năng "hiểu" những khác biệt giữa các nguồn video khác nhau để có thể xử lý tối ưu. Ví dụ, video truyền trên mạng cần có khả năng điều chỉnh thời gian trễ để không ảnh hưởng đến chất lượng. Video được gửi qua kết nối không dây phải có khả năng điều chỉnh tốc độ truyền tùy theo tình trạng mạng hiện hữu. Video từ đài phát được nhận qua anten phải có cơ chế sửa lỗi vì không có cách nào để truyền lại khung hình bị hỏng. Ngay cả việc truy cập video trực tiếp từ đĩa DVD cũng phải tính đến việc trầy sướt trên mặt đĩa có thể làm đứng hình.

Việc xử lý những vấn đề trên rất phức tạp và khó hiện thực. Người dùng thì dĩ nhiên muốn những vấn đề này được khắc phục mà không phải dùng thêm giải pháp kỹ thuật bằng phần cứng. Trong khi đó các nhà phát triển phần mềm lại không có phương tiện để giải quyết tất cả vấn đề này một cách hiệu quả.

Sức mạnh của API

Trong tình huống này, khả năng trừu tượng hoá thông qua các giao tiếp ứng dụng (API) phát huy tác dụng. API cho phép nhà phát triển tập trung vào nhiệm vụ chính mà không phải mất nhiều thời gian cho những vấn đề hiện thực cụ thể. Ví dụ, từ góc độ ứng dụng, tất cả những gì nhà phát triển cần quan tâm là truy cập luồng video. Thông qua API, điều này có thể thực hiện với một lời gọi hàm đơn giản như GetVideo(). Tất cả các chi tiết phức tạp liên quan đến việc nhận diện nguồn phát và lấy khung hình đều được "đóng gói" trong hàm GetVideo(). Bằng cách này, ứng dụng có thể truy cập nhiều nguồn video khác nhau (có khác biệt về cách thực hiện) mà không phải thay đổi bất kỳ dòng lệnh chương trình nào.

Đây chính là một trong những ý tưởng chủ đạo của công nghệ DaVinci. Với kiến trúc nền tảng thích hợp, bộ thư viện API của DaVinci cho phép nhà phát triển tiếp cận video theo cách đơn giản như gọi hàm và có thể khai thác các driver (trình điều khiển) và codec (bộ mã hóa và giải mã) có sẵn để phát triển ứng dụng.

DAVINCI NHÂN ĐÔI

Ba tháng sau khi công bố (9/9/2005), tháng 12/2005, TI đã ra mắt sản phẩm đầu tiên dùng công nghệ DaVinci: TMS320DM6443 và TMS320DM6446 (DM644x). Chip TMS320DM6443 nhắm đến các ứng dụng giải mã video như PMP (Portable Media Player), còn TMS320DM6446 nhắm đến các ứng dụng chuyển mã video như DVR (Digital Video recorder).

DM644x là dòng chip hai nhân kết hợp bộ xử lý ứng dụng ARM926EJ-S (RISC) với bộ xử lý tín hiệu số (DSP - Digital Signal Processor) C64x+. Cả hai nhân ARM và DSP đều có thể lập trình (nhờ vậy các thiết bị dùng chip DM644x có thể dễ dàng cập nhật).

Nhân ARM có xung nhịp 297MHz, hỗ trợ tập lệnh 16-bit và các tập lệnh mở rộng DSP. Nhân này có tích hợp cơ chế Jazelle giúp tăng tốc Java và cơ chế EmbeddedICE-RT cho phép bẫy lỗi thời gian thực.

Nhân DSP có xung nhịp 594MHz. Nhân này có 8 đơn vị chức năng, gồm 6 ALU 32/40-bit hỗ trợ 4 phép tính 8-bit (hay 1 phép tính 32-bit) mỗi xung nhịp và 2 bộ nhân hỗ trợ 4 phép tính 32-bit (hay 4 phép tính 16x16-bit) mỗi xung nhịp. Giống như nhân ARM, nhân DSP cũng hỗ trợ tập lệnh 16-bit và có thể định địa chỉ theo byte cho dữ liệu 8, 16, 32 và 64-bit.

Ngoài hai nhân ARM và DSP, chip DaVinci còn tích hợp các thành phần xử lý video, điều khiển CCD cho máy ảnh số, giao tiếp thẻ nhớ ngoài, giao tiếp đĩa cứng ATA, giao tiếp mạng Ethernet, giao tiếp cổng âm thanh...

Hỗ trợ của MontaVista

Một yếu tố then chốt của công nghệ DaVinci giúp đơn giản hóa việc thực hiện ứng dụng video đó là sử dụng các API chuẩn của Linux quen thuộc với nhiều nhà phát triển. Hiện DaVinci sử dụng Linux 2.6.10 phiên bản Professional Edition của MontaVista (www.mvista.com), hãng tiên phong về hệ điều hành Linux nhúng.

Về mặt lập trình, các tác vụ thông thường như mở (open), đóng (close), đọc (read) và ghi (write) đều có thể thực hiện với các lời gọi hàm API chuẩn. Điều này cho phép lập trình ứng dụng truy cập nhiều loại thiết bị và nguồn video theo cùng cách thức. Thêm nữa, đối với các thiết bị có lưu trữ (dùng đĩa cứng hay thẻ nhớ), việc truy cập dữ liệu có thể thực hiện thông qua giao tiếp hệ thống tập tin.

Các trình điều khiển video trên nền Linux cho phép nhà phát triển truy cập và điều khiển tính năng video mà không cần phải am tường về video số hay xử lý tín hiệu số. Việc cấu hình thiết bị video để đáp ứng những ứng dụng cụ thể, điều chỉnh kích thước ảnh, số bit của mỗi điểm ảnh, tần số làm tươi hay bảng màu... có thể thực hiện dễ dàng thông qua API.

Một ví dụ minh họa với ứng dụng video có tính năng khá phức tạp: dịch chuyển thời gian. Tính năng này cho phép người xem "tạm dừng" chương trình (video) đang phát trực tiếp (vì bận trả lời điện thoại chẳng hạn). Video từ nguồn phát đến sẽ được lưu vào đĩa cứng và khi người dùng xem tiếp, thiết bị sẽ hiển thị video đã lưu đồng thời tiếp tục lưu video đến để người dùng không bị bỏ mất bất kỳ đoạn video nào (nghĩa là thực hiện đồng thời mã hóa video để lưu vào đĩa cứng và giải mã video để hiển thị lên màn hình). Mã lệnh thực hiện theo công nghệ DaVinci rất đơn giản:

InitPeripherals()

InitEthernet();

InitATA();

InitDisplay();

InitH264Encoder();

InitH264Decoder();


Hành động 1: nhấn nút Pause (tạm dừng)

OpenCodec()

OpenH264Channel;

// Nén và lưu video vào đĩa cứng

StartEncode(Ethernet.Address, H264.EncodeChannel, ATA.Address);

...


Hành động 2: nhấn nút Resume (phục hồi)

StartDecode(ATA.Address, H264.DecodeChannel, Display.Address);
...

ĐỒ NGHỀ DAVINCI

Bo mạch cho phát triển ứng dụng DaVinci

Nằm trong chiến lược "trọn gói", mới đây (tháng 6/2006) TI đã đưa ra bộ công cụ phát triển ứng dụng video dựa trên công nghệ DaVinci, bao gồm eXpressDSP Configuration Kit, TMS320DM644x SoC Analyzer và MontaVista Linux.

eXpressDSP Configuration Kit dùng để kết hợp các mô đun phần mềm lại với nhau thành một hệ thống chung. Công cụ này có khả năng tích hợp các bộ mã hoá/giải mã (codec) video, hình ảnh, âm thanh và các codec khác tuân theo chuẩn eXpressDSP Digital Media (xDM) của TI.

DM644x SoC Analyzer có khả năng phân tích và hiển thị trực quan tình trạng hoạt động của hệ thống, các điểm tắt nghẽn luồng dữ liệu và nhiều thông tin khác.

Việc phân tích thực hiện trên cả hai nhân DSP và ARM của bộ xử lý TMS320DM644x, cung cấp cái nhìn toàn diện về hệ thống.

Cuối cùng, hệ điều hành MontaVista Linux được tối ưu cho ứng dụng video và bộ xử lý DM644x, trong đó bao gồm gói Linux BSP và môi trường phát triển DevRocket của MontaVista.

Bộ công cụ phát triển này cần có nền tảng hệ thống để thử nghiệm và TI có cung cấp mô đun DVEVM (Digital Video Evaluation Module) cho mục đích này.

Thành quả của DaVinci

PMP Archos 404 và set-top box Softier Wave-400 - những thiết bị đầu tiên theo công nghệ DaVinci.

Khi công bố DaVinci (9/9/2005), Texas Instruments (TI) hứa hẹn đem đến sự tích hợp phần cứng và phần mềm cao nhất và hỗ trợ tốt nhất cho việc phát triển ứng dụng video. DaVinci là giải pháp linh hoạt có thể sử dụng cho nhiều loại thiết bị như video phone, máy ảnh số, thiết bị giải trí cầm tay, thiết bị thu DVD và set-top box, IPTV.

Công nghệ DaVinci hứa hẹn sẽ tạo nên thế hệ những thiết bị video mới thông minh hơn và đa năng hơn. Ví dụ máy ảnh số có khả năng tự động chỉnh màu và ánh sáng của ảnh chụp. Thay cho nhiều thiết bị, một set-top box có thể cho phép người dùng phát hay thu video cùng lúc hội đàm video với bạn bè.

Người dùng không phải chờ đợi lâu, hiện đã có một số sản phẩm theo công nghệ DaVinci. Có thể kể như loạt thiết bị PMP Archos 404, 504 và 604 hay loạt sản phẩm Sonata STB (set-top box dùng cho IPTV) và Sonata DVR (Digital Video Recorder) của Visioneering.

Thị trường video đang mở ra cơ hội cho DaVinci và công nghệ này được kỳ vọng sẽ "vẽ” và đem đến những "tác phẩm" nghe nhìn độc đáo, xứng đáng với tên tuổi của nhà đại danh hoạ mà nó lấy tên - Leonardo da Vinci.

Tài liệu:

- The DaVinci Effect, TIs White paper

- LinuxDevices.com

LINUX NHÚNG THỊNH HÀNH

MotoMing sử dụng HĐH MontaVista Linux

Bạn có biết chiếc ĐTDĐ "thông minh" MotoMing (vừa được giới thiệu trên TGVT A 9/2006) đang nổi đình nổi đám trên thị trường dùng hệ điều hành gì không? Không phải Symbian OS hay Windows Mobile mà chính là MontaVista Linux – phiên bản hệ điều hành Linux nhúng.

MotoMing không phải là chiếc ĐTDĐ đầu tiên dùng HĐH Linux và MontaVista cũng không phải là HĐH Linux nhúng duy nhất.Trước MotoMing đã có nhiều ĐTDĐ khác và nhiều thiết bị khác dùng HĐH Linux nhúng (có cả MontaVista và các bản Linux khác), trong đó có những cái tên nổi tiếng như ĐTDĐ hỗ trợ duyệt web Nokia 7700, thiết bị giải trí di động (PMP) Archos PMA400 hay đầu thu video (DVR) của TiVo,... Và tương lai sẽ có ngày càng nhiều thiết bị sử dụng Linux nhúng.

Theo số liệu khảo sát mới đây về thị trường Linux nhúng của LinuxDevices.com, gần 2/3 số người tham gia có kế hoạch hỗ trợ hay phát triển dịch vụ dùng Linux nhúng. Với 49% người dùng, Linux hiện là HĐH nhúng phổ biến nhất. Dựa theo số liệu cuộc khảo sát, Linux có thể chiếm đến 60% thị trường HĐH nhúng trong 3-4 năm tới.


Xu hướng sử dụng Linux nhúng

Phương Uyên

Thứ Năm, 26/10/2006 15:07
31 👨 216
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản