Siêu phân giải bằng mạng nơ-ron · đang nghiên cứu

Sắc nét hơn những gì bitrate gợi ý.

Khi host render ở độ phân giải cao hơn màn hình của bạn, hoặc mạng bó chặt luồng stream, host gửi ít pixel hơn và thiết bị của bạn dựng lại chúng. Remio chạy một mô hình siêu phân giải bằng mạng nơ-ron trên đường tới màn hình — cạnh chữ vẫn sắc, code vẫn đọc được — ngay trên NPU của thiết bị bạn. Không phải trên đám mây. Từng khung hình một.

Vấn đề

Vì sao chữ khi stream bị nhoè, và AI sửa nó ra sao.

Các bộ mã hoá video cổ điển được tối ưu cho chuyển động, không phải cho những cạnh mảnh, tương phản cao tạo nên chữ và giao diện. Khi băng thông thắt lại, những cạnh đó là thứ biến mất đầu tiên.

Một luồng remote desktop trải qua hai lần nén trước khi tới mắt bạn. Đầu tiên, host thu nhỏ độ phân giải khi nguồn vượt quá những gì client hiển thị được — một MacBook Pro 14" M4 host ở 3024 x 1964 stream tới iPad mini ở 2266 x 1488 đã bỏ đi khoảng một phần ba số pixel trước cả khi bộ mã hoá nhìn thấy khung hình. Thứ hai, bản thân bộ mã hoá áp dụng nén mất dữ liệu để vừa với bitrate mà mạng tải được. Cả hai bước đều vứt bỏ chi tiết tần số cao — đúng thứ tạo nên khác biệt giữa một glyph ký tự sắc nét và một vệt nhoè nhoẹt.

Siêu phân giải bằng mạng nơ-ron là một bước khôi phục chất lượng chạy trên client sau khi giải mã. Nó nhìn vào khung hình đã giải nén và dự đoán phần nội dung tần số cao mà khung hình gốc từng có trước khi bị thu nhỏ và ép qua bộ mã hoá. Khác với phóng đại bilinear hay bicubic cổ điển — vốn chỉ nội suy từ những pixel đã có sẵn — một mạng nơ-ron đã huấn luyện biết rõ cạnh, hình dạng chữ và hình khối giao diện trông thế nào ở độ phân giải đầy đủ. Nó đặt lại thông tin tần số cao vào chỗ cũ.

Hiệu quả rõ nhất đúng ở nơi bạn cần nhất: chữ thân 11-point, code trong font đơn cách, đường hairline trong file Figma, viền nút trong thanh bên. Đây là những trường hợp mà vài pixel bị nhoè quyết định ranh giới giữa "đọc được" và "phải nhoài người tới gần." Một bộ mã hoá tối ưu cho chuyển động không thể thắng trên những bề mặt này vì chúng phá vỡ giả định cốt lõi của nó rằng chi tiết có thể bị bỏ bớt giữa các khung hình. Một bộ phóng đại nơ-ron thì có thể, vì nó tái tạo từ tri thức đã học, chứ không phải từ các pixel lân cận.

Kết quả là một luồng trông sắc nét hơn mức bitrate của nó gợi ý. Bạn có thể chạy một phiên chỉ với nửa băng thông mà vẫn đọc được mọi thứ — hữu ích trên Wi-Fi khách sạn, trên kết nối chia sẻ từ điện thoại, trên mạng LAN văn phòng đang quá tải, hay đơn giản trên bất kỳ mạng nào bạn muốn chừa dư địa cho việc khác.

Chỉ chạy trên thiết bị

Chạy trên neural engine của thiết bị, không phải trên đám mây.

Mọi khung hình, mọi pixel, mọi bước suy luận đều nằm trong ứng dụng client trên thiết bị của bạn. Không gì rời đi để phóng đại; không gì được tải lên để "xử lý." Trên Apple Silicon, mô hình chạy trên Neural Engine qua Core ML; trên Android, nó chạy qua NNAPI trên các thiết bị có NPU riêng. Trọng số mô hình đi kèm ngay trong gói ứng dụng.

Lý do chạy mọi thứ trên thiết bị không phải triết lý — mà là độ trễ. Một vòng khứ hồi tới đám mây sẽ cộng thêm 30 ms vào toàn bộ ngân sách.

Chữ sắc nét trên iPhone nhờ siêu phân giải chạy trên thiết bị

Trên Apple Silicon — mọi Mac dòng M, iPad Pro, iPad Air và iPhone Pro đời gần đây — mô hình chạy trên Neural Engine qua Core ML. Neural Engine là một bộ đồng xử lý chuyên dụng nằm cạnh CPU và GPU trên cùng một die, được thiết kế cho những phép nhân ma trận nhỏ, lặp đi lặp lại mà mạng nơ-ron dành phần lớn thời gian xử lý, với công suất chỉ bằng một phần nhỏ so với GPU. Core ML tự động định tuyến mô hình đã biên dịch lên Neural Engine; ứng dụng chỉ việc đưa một khung hình vào và nhận lại khung hình đã phóng đại.

Trên các thiết bị iOS cũ thiếu Neural Engine đủ nhanh cho tác vụ thời gian thực — chip trước A12 — mô hình lùi về tính toán trên GPU qua Metal Performance Shaders. Kết quả vẫn thế; chỉ có chi phí năng lượng cao hơn. Đa số người dùng trên thiết bị cũ đến mức đó sẽ thấy client giải mã 1:1 và bỏ qua hoàn toàn bước siêu phân giải, vì chẳng có lợi ích chất lượng nào để thu về trên một màn hình vốn đã ít pixel hơn cả luồng stream.

Trên Android, mô hình chạy qua NNAPI trên các thiết bị có NPU riêng: máy Pixel dùng Google Tensor (G1 trở lên), điện thoại Galaxy dùng Snapdragon 8 Gen 2 trở lên, MediaTek Dimensity 9000 trở lên. NNAPI là lớp trừu tượng mạng nơ-ron của Android; trên các thiết bị được hỗ trợ, nó tự động định tuyến lên NPU phần cứng. Trên các thiết bị Android không có NPU nhanh, client giải mã 1:1 và bỏ qua bước AI — cùng mô hình dự phòng như iOS.

Khi nào kích hoạt

Khi nào nó tự bật lên.

Siêu phân giải là một bước khôi phục chất lượng — chạy nó trên một luồng không cần sẽ hao pin mà chẳng đem lại lợi ích nhìn thấy được. Client tự quyết định cho từng phiên xem bước này có đáng chạy hay không.

Điều kiện kích hoạt thứ nhất là độ phân giải nguồn so với màn hình. Nếu host đang render ở độ phân giải cao hơn hẳn những gì màn hình client hiển thị được — một host M4 14" ở 3024 x 1964 stream tới iPad mini ở 2266 x 1488, hay một host iMac 27" 5K stream tới MacBook Air — host buộc phải thu nhỏ trước khi mã hoá, và việc thu nhỏ vứt bỏ chi tiết mà bộ phóng đại có thể tái tạo hữu ích. Client kiểm tra điều này lúc bắt đầu phiên và quyết định có bật bước này hay không.

Điều kiện kích hoạt thứ hai là giới hạn bitrate WAN. Khi bạn ở trong một mạng LAN cùng với host, Remio chạy luồng ở bitrate tối đa mà đường truyền tải được — không có chất lượng nào để khôi phục, nên bộ phóng đại tắt. Khi bạn ở trên một kết nối diện rộng — chia sẻ từ điện thoại, Wi-Fi khách sạn, xuyên vùng — giới hạn này bó nguồn lại cho vừa với thông lượng ổn định của mạng; bộ mã hoá buông bỏ chi tiết tần số cao để đạt mục tiêu, và bộ phóng đại bật lên để đặt chi tiết đó trở lại.

Điều kiện kích hoạt thứ ba là thủ công: chế độ "Crisp text" trong bảng tuỳ chọn Streaming. Mặc định là Auto, kết hợp hai điều kiện tự động ở trên. Bạn có thể ép Always On để đạt độ sắc nét tối đa trên mọi khung hình bất kể nguồn, hoặc Always Off để tiết kiệm pin tối đa. Công tắc có hiệu lực ngay ở khung hình được giải mã kế tiếp — không cần khởi động lại phiên, không cần kết nối lại.

Khi không điều kiện nào trong ba điều kiện được kích hoạt, client giải mã luồng 1:1 và bỏ qua hoàn toàn bước AI. Neural Engine nằm im. Chi phí pin về không. Đây là trường hợp phổ biến trên một mạng LAN khi màn hình host nhỏ hơn hoặc bằng màn hình client — cũng là phần lớn công việc của một người ngồi cố định tại bàn trong một ngày.

Ngân sách độ trễ

Dưới 4 ms trên Neural Engine, song song với giải mã.

Độ trễ kính-tới-kính là toàn bộ cuộc chơi trong remote desktop. Bước siêu phân giải phải nằm gọn trong ngân sách mà giải mã phần cứng và xuất hình để lại — và nó làm được, còn dư cả chỗ.

Mô hình phóng đại
Mạng nơ-ron trên thiết bịchạy trên Apple Neural Engine, Core ML hoặc NNAPI
Thời gian NPU mỗi khung (iPad Pro M2)
≈ 2.5 mschạy song song với giải mã
Ảnh hưởng tới mạng
0 byteskhông trọng số mô hình hay khung hình nào rời khỏi thiết bị
Cải thiện rõ nhất ở
Chữ, code, giao diệnnhững trường hợp bộ mã hoá cổ điển làm nhoè

Bước phóng đại chạy song song với giải mã phần cứng chứ không phải sau đó. Bộ giải mã chuyển khung N+1 cho GPU trong khi Neural Engine vẫn đang phóng đại khung N. Vì giải mã và suy luận nằm trên các phần cứng khác nhau, không bên nào chặn bên nào — điểm tuần tự hoá duy nhất là bước ghép cuối cùng vào bề mặt hiển thị, chỉ mất vài micro-giây.

Trên một thiết bị Apple Silicon dòng M đời hiện tại, tổng thời gian NPU cho mỗi khung phóng đại giữ dưới 4 ms. Riêng trên iPad Pro M2, ngân sách đo được vào khoảng 2.5 ms mỗi khung ở 60 Hz, để Neural Engine nằm im trong 14 ms còn lại của mỗi khoảng khung hình. Điều đó có nghĩa bước siêu phân giải về cơ bản cộng thêm số không vào ngân sách kính-tới-kính — nó được giấu bên trong khoảng thời gian mà GPU và màn hình vốn đã phải bỏ ra.

Trên các thiết bị Android có NPU, ngân sách thay đổi theo đời chip. Một Pixel 8 với Tensor G3 tiệm cận con số của iPad Pro; một Galaxy S22 với Snapdragon 8 Gen 1 chạy lâu hơn nhưng vẫn nằm trong ngân sách 16.6 ms mỗi khung ở 60 Hz. Trên các thiết bị mà NPU không thể hoàn thành một khung trong ngân sách, client tự động lùi bước phóng đại lại thay vì rớt khung hoặc làm nghẽn màn hình.

Giới hạn thành thật

Những gì nó không làm — và vì sao điều đó quan trọng.

Marketing về AI tạo sinh đã tạo ra kỳ vọng rằng "tăng cường bằng AI" nghĩa là bịa ra chi tiết. Mô hình siêu phân giải của Remio không bịa. Nó tái tạo. Sự khác biệt đó quan trọng cho niềm tin.

Nó không bịa ra phần giao diện bị thiếu. Nếu một nút bị cắt ở mép luồng vì bộ mã hoá bỏ mất một vùng, bộ phóng đại không tự vẽ ra phần nút còn lại. Nó làm việc trên những pixel đã được mã hoá và tái tạo chi tiết tần số cao mà những pixel đó hàm ý — chứ không phải những pixel chưa từng tồn tại. Một người dùng remote desktop cần tin rằng những gì họ thấy trên iPad khớp với những gì đang có trên host. Một mô hình tạo sinh tự điền vào nội dung thiếu sẽ phá vỡ niềm tin đó.

Nó không tăng tốc độ khung hình. Luồng vẫn chạy ở 60 fps; bộ phóng đại tạo ra một khung phóng đại cho mỗi khung được giải mã. Không có nội suy theo thời gian, không chèn khung, không làm mượt chuyển động. Tốc độ khung hình do tốc độ chụp của host và khả năng giao khung đúng lúc của mạng quyết định, và bộ phóng đại không thay đổi bên nào cả.

Nó không "tăng cường bằng AI" cho video đang phát trên host. Nếu bạn đang xem phim trên chiếc Mac từ xa, thứ được stream là bất cứ gì mà bộ giải mã video của host đã render vào cửa sổ của nó — ở độ phân giải của host. Bước siêu phân giải khôi phục chi tiết mà bộ mã hoá stream đã vứt đi, nhưng nó không cải thiện được nguồn mà host tạo ra. Muốn xem phim sắc nét hơn, hãy phát phim ngay trên thiết bị client của bạn, chứ không phải trên host.

Nó không thay thế được một mạng tốt. Một kết nối P2P LAN với đường trực tiếp nhanh luôn sắc nét hơn một kết nối WAN bị bó rồi phóng đại bằng mạng nơ-ron — siêu phân giải thu hẹp phần lớn khoảng cách nhưng không phải toàn bộ. Cách nghĩ đúng về bước này là như một khoản bảo hiểm chất lượng: khi mạng tuyệt vời, bạn không cần tới nó và client tắt đi; khi mạng tệ, nó giữ cho phiên vẫn dùng được thay vì để nó xuống cấp thành một mớ nhoè không đọc nổi.

FAQ

Câu hỏi thường gặp

Năm câu hỏi hay gặp về siêu phân giải chạy trên thiết bị — câu trả lời thành thật ở bên dưới.

Dữ liệu của tôi có được gửi tới dịch vụ AI đám mây để phóng đại không?
Không. Mô hình siêu phân giải chạy hoàn toàn trên neural engine của thiết bị client. Không khung hình, không pixel, không metadata nào được gửi tới bất kỳ dịch vụ đám mây nào để phóng đại. Trọng số mô hình đi kèm bên trong ứng dụng client Remio và chạy trong sandbox tiến trình của client. Lưu lượng mạng trong một phiên chỉ mang luồng video đã mã hoá giữa host và client — không dữ liệu suy luận nào rời khỏi thiết bị.
Những thiết bị nào có NPU đủ nhanh cho việc này?
Bất kỳ iPad hay Mac chạy Apple Silicon (M1 trở lên), bất kỳ iPhone 12 trở lên cho kết quả tốt, bất kỳ iPhone 15 Pro và Pro Max hoặc chip dòng A17 và A18 cho kết quả xuất sắc. Trên Android: Pixel 6 trở lên (Tensor), Galaxy S22 trở lên, OnePlus 11 trở lên. Trên các thiết bị cũ hơn, client giải mã luồng 1:1 mà không siêu phân giải — bạn vẫn có trải nghiệm Remio bình thường, chỉ là không có bước khôi phục chất lượng bằng AI.
Cái này có làm hao pin không?
Ít hơn bạn tưởng. Neural Engine hiệu quả hơn GPU rất nhiều cho loại công việc này — nó được thiết kế riêng cho các phép ma trận nhỏ, lặp lại và chạy với công suất chỉ bằng một phần nhỏ. Chi phí pin đo được trên iPad Pro M2 là dưới 4% tổng lượng tiêu thụ của phiên trong một giờ làm việc từ xa điển hình. Trên iPhone 15 Pro, chi phí tương tự. Nếu bạn đang trong một phiên dài và muốn kéo dài pin, bạn có thể chuyển cài đặt từ Auto sang Off trong tuỳ chọn Streaming.
Tôi có thể tắt nó không?
Có. Cài đặt nằm ở Streaming → chế độ 'Crisp text'. Mặc định là 'Auto' — bật khi độ phân giải host vượt quá màn hình client hoặc khi băng thông eo hẹp, tắt trong các trường hợp còn lại. Bạn cũng có thể ép Always On hoặc Always Off từ cùng bảng đó. Cài đặt có hiệu lực ở khung hình được giải mã kế tiếp; không cần khởi động lại phiên.
Nó có hoạt động khi chơi game hay phát video trên host không?
Với game, có — lớp chữ overlay, phần tử HUD, menu và giao diện trở nên sắc nét thấy rõ, đây đúng là chỗ mà bộ mã hoá cổ điển làm nhoè nhiều nhất. Với video phát trên host, không có bước tăng cường AI riêng nào áp lên chính nội dung; bạn vẫn đang stream bất cứ gì host render ở mức bitrate mà giới hạn cho phép. Siêu phân giải là một bước khôi phục chất lượng trên những gì đã được stream, chứ không phải một sự tăng cường tạo sinh cho nguồn.
Biểu tượng ứng dụng Remio

Chữ sắc nét trên mọi mạng, nhờ chính NPU của bạn.

Cài Remio trên máy tính bạn muốn với tới và thiết bị bạn dùng để với tới nó. Siêu phân giải bật sẵn ở chế độ Auto — nó kích hoạt khi phiên của bạn được lợi và tránh đường trong thời gian còn lại. Không tài khoản. Không telemetry. Không khung hình nào rời khỏi thiết bị của bạn để phóng đại.