Wii U Gamepad -
PHẦN CỨNG ẨN CHỨA NHIỀU BÍ MẬT
PHẦN CỨNG ẨN CHỨA NHIỀU BÍ MẬT
Các lập trình viên đã có thể giả lập được các chức năng tổng thể của chiếc Wii U Gamepad, và trình giả lập này hoàn toàn có thể chạy trên một máy tính thông thường (PC). Họ là những người đã từng cho ra mắt phiên bản của trình giả lập Dolphin chạy được game của hệ máy GameCube và Wii. Pierre Bourdon, một thành viên của nhóm lập trình viên trên, cho biết: Thông qua các công đoạn thực hiện trình giả lập Wii U Gamepad, họ thật sự đánh giá cao tính đột phá của chiếc tay cầm mới đến từ Nintendo.
“Chúng tôi bắt tay vào việc thực hiện trình giả lập này, ngay khi chúng tôi có được chiếc Wii U Gamepad. Nhóm ba người chúng tôi đánh giá rằng: Chiếc tay cầm của hệ máy này ít được áp dụng các kỹ thuật bảo mật hơn là chiếc console. Phần vi chương trình (firmware) của tay cầm được ghi trực tiếp, mà không qua các bước mã hóa (unencrypted flash). Do đó, chúng tôi không gặp nhiều khó khăn, trong việc ‘dịch ngược’ từ mã nhị phân. Phân cứng này cũng hỗ trợ chuẩn 802.11n, hoàn toàn dễ dàng trong giao tiếp với một chiếc máy tính (PC).”
Có lẽ, bản thân chiếc Wii U Gamepad chỉ là một tay cầm của máy chơi game, nên Nintendo cũng không phức tạp hóa phần cứng của thiết bị này, kiểu như một chiếc máy tính bảng chạy Android. Ngoài việc được trang bị một màn hình cảm ứng, khả năng bắt sóng wifi, chíp giải mã video (decoder chip for the incoming video stream), Wii U Gamepad còn sở hữu một tần xuất tương tác với chiếc console khá ấn tượng. Dựa trên kênh truyền bằng sóng wifi, chiếc tay cầm tương tác với Wii U với tần xuất không dưới 180 lần/1 giây, vượt xa cách giao tiếp thông qua kỹ thuật Bluetooth của Wiimote.
Thành viên của nhóm lập trình viên, nói: “Thoạt đầu, chúng tôi sử dụng kỹ thuật thu và giải mã (sniffing) các trao đổi giữa Wii U và chiếc tay cầm của nó. Rồi sau đó, tổng hợp các bộ mã trong quá trình truyền/nhận (pairing) giữa 02 phần cứng này, thông qua sóng wifi. Chúng tôi phát hiện ra là quá trình truyền/nhận giữa 02 phần cứng này, phần lớn dựa vào giao thức WPS thông dụng (Wi-Fi Protected Setup). Chỉ có một số ít là các đoạn mã khó xuất hiện, nhằm truyền các chỉ thị...”
“Lợi dụng điểm này, chúng tôi đã thực hiện một đoạn chương trình ‘quét/chọn’ đa-hình các điểm thu phát sóng wifi (non-standard things; wpa_supplicant/hostapd) (1); để tìm ra và kết nối được một máy tính với chiếc Wii U. Chúng tôi đã phải mất hơn 1 tuần làm việc, để thực hiện thành công điều này. Sau thời gian đó, việc còn lại đó là chúng tôi cố gắng hiệu chỉnh những giao thức đã được Nintendo sử dụng để chiếc tay cầm có thể liên kết được với Wii U.”
Hiệu chỉnh lại các giao thức liên kết (custom communication protocols) có nghĩa là chúng tôi thực hiện việc rút ngọn lại các giao tiếp mà Nintendo đã xây dựng để ứng dụng trong việc truyền video, thông qua kỹ thuật Miracast (2) của hãng Broadcom. Việc rút gọn này cũng phải bảo đảm rằng các liên kết với chiếc Wii U sẽ không bị thay đổi so với trước đó.
Bourdon tiếp tục chia sẽ: “Những đoạn video được nén ở chuẩn h.264 (chất lượng phụ thuộc hoàn toàn vào nguồn phát). Còn phần âm thanh thì hầu như không bị nén, nhưng chúng tôi phát hiện rằng vẫn tồn tại các định dạng nén được hỗ trợ trong phần vi chương trình của Wii U GamePad. Lúc đầu, chúng tôi tìm thấy các mẫu tín hiệu của kỹ thuật Miracast. Tuy nhiên, hóa ra rằng không phải như thế! Chiếc Wii U GamePad hoàn toàn dính đến Miracast. Các tín hiệu hình/tiếng đều đã được xử lí trước khi chuyển đến tay cầm, và chúng được truyền đến phần cứng này thông qua các giao thức riêng biệt.”
Với các đặt tính của chuẩn h.264, nó sẽ đặt ra nhiều giới hạn kỹ thuật cho việc nén/giải nén dữ liệu truyền. Tuy nhiên, Nintendo giải quyết triệt để vấn đề này thông qua việc tiến-xử-lí tính hiệu truyền, đồng thời đảm bảo băng thông tốt cho tính hiệu này. Một mẫu tính hiệu được nhóm lập trình viên thu được, từ quá trình truyền/nhận giữa Wii U và Wii U Gamepad trong khoảng thời gian là 87 giây, khối dữ liệu này lên đến 33 megabyte. Tức là, tốt độ truyền/nhận sấp sĩ 3Mbps, cho một kênh hình ảnh có độ phân giải 850x480 với 60 khung hình/s. Điều này cho thấy, băng thông chưa được tận dụng một cách đúng mức. Pierre Bourdon cho rằng băng thông của hệ thống giao tiếp giữa Wii U và chiếc gamepad còn nhiều tiềm năng, cho việc truyền/nhận những hình ảnh được mã hóa ở các mức độ phức tạp hơn.
Bourdon nói: “Phép tính này được thực hiện, chưa bao gồm phần tín hiệu tiếng (audio). Biểu đồ dưới đây, ghi lại kết quả truyền/nhận 33MB dữ liệu, được tính theo cột mốc thời gian”.
Trên biểu đồ, là 33MB dữ liệu hình ảnh (video) được phân bổ trong suốt 87 giây. Có thể thấy rằng: Trong suốt thời gian đó, có khá nhiều thông lượng được sử dụng (bitrate used) để truyền khối dữ liệu trên. Thông lượng này được tự động điều chỉnh, phụ thuộc vào chất lượng của hình ảnh được gửi từ Wii U, để hiển thị trên màn hình của Wii U Gamepad.
Mặc dù, theo tính toán tốc độ truyền trung bình vào khoảng 3Mbps, nhưng thông qua các mốc đỉnh của đồ thị, cho thấy tốc độ có thể vào khoảng từ thấp nhất là 25Mbps, và cao nhất là 40Mbps. Mức băng thông này hoàn toàn có thể đáp ứng được trọn vẹn thông lượng biến thiên của chuẩn mã hóa h.264. Đối với những chuẩn hình ảnh phức tạp khác, có sự đòi hỏi các thông số đính kèm, để cho chất lượng tốt hơn. Thì, hệ thống Wii U dương như vẫn hoàn toàn sẵn sàng, bởi dựa vào kết nối không dây 802.11n được tích hợp.
Bourdon tỏ ra nghi ngờ: “Chúng tôi chưa kiểm lại, nhưng tôi nghĩ rằng ở tại vị trí những mốc đạt đỉnh của đồ thị trên, là lúc mà Wii U gửi các I-frame kích thước lớn (dữ liệu hình ảnh chất lượng cao)”.
Bourdon nói tiếp: “Nếu chỉ lấy trung bình giữa băng thông truyền và khoảng 10 frame dữ liệu truyền liên tục, thì lập túc nhận thấy những mốc đỉnh này gần như không xuất hiện. Ở chế độ hoạt động bình thường, hệ thống Wii U gửi duy nhất 1 I-frame (3) , và sau đó còn lại là các P-frames (3) . Trừ phi, có một ứng dụng nào đó yêu cầu hệ thống phải truyền I-frame, hoặc là trường hợp phải truyền lại, do lỗi truyền xảy ra (loss packet error)."
Một điều chắc chắn rằng kỹ thuật nén hình ảnh chuẩn h.264 đã được tính hợp sẵn trong hệ thống của Wii U, và gần như chắc chắn là được đặt bên trong chíp xử lí đồ họa. Đây là một yếu tố phần cứng có phần tương tự như hệ thống của chiếc Xbox One và PlayStation 4.
Thêm nhiều lí do để tin rằng, những chức năng ứng dụng ‘điện toán đám mây’ sẽ có mặt trên Wii U. Đặt biệt là, kể từ khi Bourdon xuất nhận rằng chức năng hỗ trợ cho 02 tay cầm Wii U Gamepad cùng lúc được xây dựng ‘mềm’ trong phần vi chương trình (firmware).
Bourdon tiếp tục chia sẽ: “Chúng tôi chẳng cần tìm hiểu lí do vì sao mà hệ thống này không cho phép gửi dữ liệu dạng hình và tiếng (audio/video) thẳng từ tay cầm lên internet. Phần vi chương trình của chíp xử lí đảm nhiệm việc trao đổi dữ liệu của chiếc tay cầm và Wii U (từng được đề cập, với tên gọi là DRH). Phần vi chương trình của chíp xử lí DRH, hoàn toàn có thể nâng cấp được. Và đây, được xem như bước chuẩn bị cho tương lai của Nintendo. Ngoài điểm này, chúng tôi không thấy gì đặc biệt trong phần vi chương trình hiện tại.” .
Đó là tất cả thông tin mà Pierre Bourdon tiết lộ, sau khi nhóm của anh tiến hành theo dõi sự hoạt động của hệ thống của chiếc Nintendo Wii U. Tuy nhiên, xa hơn một chút, những người yêu thích sản phẩm của Nintendo vẫn mong muốn được biết thêm một vài điều: Liệu rằng, trong tương lai, sẽ có một phần mềm giả lập như Dolphin hay không? Giữa bộ xử lí trung tâm (CPU) của máy Wii trước đây, và Wii U bây giờ, có điểm nào tương đồng hay không - Từ đó, có thể dự đoán những bước tiến mà trình giả lập chiếc Wii U trên máy tính có thể đạt được.
“Kiến trúc PowerPC là một lựa chọn cho trình giả lập, mà khó có một giải pháp nào khác. Sở hữu một nền tảng xử lí đa-lõi (multi-cores) để xây dựng một môi trường giả lập, thật sự là dễ dàng hơn. Ý tôi là, trong quá trình chạy, game sẽ mượt hơn”. Bourdon nói tiếp: “Vấn đề là ở chỗ, bộ xử lí hình họa (GPU) rất khó để có thể lập trình mô phỏng, bởi mức độ phức tạp của nó. Mà tôi nghĩa rằng, chưa bao giờ mình có thể thực hiện hoàn chỉnh. Đặc biệt là những bộ giao diện (API), như: DX và GL. Những giao diện này làm ẩn đi rất nhiều chi tiết mà các nhà phát triển muốn giấu." .
[Theo Eurogamer]
[Thuật ngữ - Wikipedia]
(1) wap_supplicant/hostapd:
. wap_supplicant là một trình chứng thực kết nối cho các thiết bị sử dụng giao thức WPA; tương thích với các hệ điều hành thông dụng thuộc họ UNIX, và Windows. wap_supplicant hỗ trợ cho cả giao thức WAP và WAP 2, được dùng rất thông dụng trong các thiết bị di động, cầm tay. Bộ code của wap_supplicant được thiết kế gọn nhẹ để dễ dàng sử dụng cho phần cứng, trình điều khiển thiết bị (drivers).
. hostapd là thành phần tham gia quá trình quét tìm và quản lý các điểm truy cập sóng wifi (wifi access points). hostapd hỗ trợ thiết bị lấy được thông tin, trạng thái, và các thông số khác của những điểm truy cập không dây xung quanh thiết bị.
(2) Miracast (Wi-Fi Certified Miracast™): là một giải pháp toàn diện cho việc hiển thị thông suốt (seamless) các đoạn video và hình ảnh, giữa các thiết bị phần cứng, mà không cần dùng cáp truyền dẫn. Người dùng có thể duyệt hình ảnh từ điện thoại thông minh, trên màn hình lớn của tivi; hay trình chiếu màn hình của máy tính xách tay, lên máy chiếu của phòng họp; hoặc xem trực tiếp các chương trình tivi trên máy tính bảng, được phát từ các thiết bị truyền hình trả tiền (homecable box). Kết nối Miracast được lấy mẫu dựa trên kỹ thuật Wi-Fi Direct, mỗi thiết bị hỗ trợ Miracast đều có thể kết nối trực tiếp với nhau, mà không cần dùng đến bất kỳ môi trường truyền dẫn nào khác.
Miracast™ hoạt động như thế nào.
(3) I-frame và P-frame: Trong một tập tin video ở dạng nén, có chia nhiều phân đoạn (video frame) nhằm định nghĩa cho thuật toán nén khác nhau. Những thuật toán nén khác nhau, sẽ cho ra loại những phân đoạn khác nhau ở dạng thông tin đã được nén. Có 03 loại phân đoạn thông dụng, tương ứng với từng thuật toán nén: Loại I, P và B.
- I-frames: là những phân đoạn được nén, có hiệu-quả-nén kém nhất trong 03 loại. Bù lại, I-frame không đòi hỏi việc giải mã các phân đoạn kế tiếp. Tức là, chỉ cần giải mã 1 phân đoạn duy nhất, và các phân đoạn tiếp sau đó không cần phải tiến hành lại quá trình giải mã nữa.
- P-frames: là những phân đoạn mà trong quá trình giải nén, sẽ tham chiếu đến dữ liệu đã được giải mã ở các phân đoạn trước nó. Do đó, hiệu-quả-nén sẽ cao hơn loại I-frame. Đổi lại, P-frame truyền khá chậm trên môi trường truyền dẫn. Do, phải thực hiện đi - thực hiện lại cơ chế giải mã các phân đoạn.
- B-frames: là những phân đoạn sử dụng cơ chế tham chiếu dữ liệu của cả phân đoạn trước và sau. Do đó, B-frame đạt được hiệu-quả-nén cao nhất trong cả 03 loại.
Bản thân của một I-frame (Intra-coded-picture) , nó là một video được mã hóa, và khóa giải mã được thêm trực tiếp vào đoạn video, bởi thuật toán nén. Còn đối với P-frame (Predicted picture) và B-frame (Bi-predictive picture), mỗi một khung hình ở dạng này chỉ thật sự lưu giữ 1 phần của hình ảnh được nén, và buộc phải tham chiếu thông tin của khung hình trước đó hoặc sau đó, để trả lại dữ liệu ban đầu trong quá trình giải nén.



hehe
. Để tối về thử xem có bị giống xén lông không 

