Обратный канал ввода данных пользователем для беспроводных дисплеев



Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев
Обратный канал ввода данных пользователем для беспроводных дисплеев

 


Владельцы патента RU 2577184:

КВЭЛКОММ ИНКОРПОРЕЙТЕД (US)

Изобретение относится к способам для передачи данных между беспроводным устройством источника и беспроводным устройством получателя. Технический результат - управление беспроводным устройством источника и управление контентом, который передается от беспроводного устройства источника на беспроводное устройство получателя. В качестве части сеанса связи беспроводное устройство источника может передать аудио и видео данные на беспроводное устройство получателя, которое может передать данные пользовательского ввода назад на беспроводное устройство источника. Данные ввода, принятые в беспроводном устройстве получателя, могут иметь ассоциированную информацию координат, которая масштабирована или нормализована посредством или беспроводного устройства получателя, или беспроводного устройства источника. 4 н. и 20 з.п. ф-лы, 26 ил., 6 табл.

 

[0001] Настоящая заявка испрашивает приоритет:

предварительной заявки США № 61/435194, поданной 21 января 2011;

предварительной заявки США № 61/447592, поданной 28 февраля 2011;

предварительной заявки США № 61/448312, поданной 2 марта 2011;

предварительной заявки США № 61/450101, поданной 7 марта 2011;

предварительной заявки США № 61/467535, поданной 25 марта 2011;

предварительной заявки США № 61/467543, поданной 25 марта 2011;

предварительной заявки США № 61/514863, поданной 3 августа 2011; и

предварительной заявки США № 61/544440, поданной 7 октября 2011;

каждая из которых полностью включена в настоящее описание посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ НАСТОЯЩЕЕ ИЗОБРЕТЕНИЕ

[0002] Настоящее раскрытие относится к способам для передачи данных между беспроводным устройством источника и беспроводным устройством получателя.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

[0003] Беспроводной дисплей (WD) или системы дисплея Wi-Fi (WFD) включают в себя беспроводное устройство источника и одно или более беспроводных устройств получателя. Устройство источника и каждое из устройств получателя могут быть или мобильными устройствами, или проводными устройствами с возможностями беспроводной связи. Одно или более из устройства источника и устройств получателя могут, например, включать в себя мобильные телефоны, портативные компьютеры с картами беспроводной связи, персональные цифровые ассистенты (ассистенты PDA), портативные медиаплееры или другие такие устройства с возможностями беспроводной связи, включающие в себя так называемые смартфоны и смартпады или планшеты, электронные книги или любой тип беспроводного дисплея, устройств для видеоигр или другие типы устройств беспроводной связи. Одно или более из устройства источника и устройств получателя могут также включать в себя проводные устройства, такие как телевизоры, настольные компьютеры, мониторы, проекторы и т.п., которые включают в себя возможности связи.

[0004] Устройство источника посылает медиаданные, такие как аудио/видео (AV) данные, на одно или более из устройств получателя, участвующие в конкретном сеансе совместного использования медиа. Медиаданные могут быть воспроизведены как на локальном дисплее устройства источника, так и на каждом из дисплеев устройств получателя. Более конкретно, каждое из участвующих устройств получателя воспроизводит принятые медиаданные на своем экране и аудио оборудовании.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0005] Настоящее раскрытие в целом описывает систему, в которой беспроводное устройство источника может связываться с беспроводным устройством получателя. Как часть сеанса связи, беспроводное устройство источника может передавать аудио и видео данные на беспроводное устройство получателя, и беспроводное устройство получателя может передавать вводы данных пользователем, принятые в беспроводном устройстве получателя, назад на беспроводное устройство источника. Таким образом, пользователь беспроводного устройства получателя может управлять беспроводным устройством источника и управлять контентом, который передается от беспроводного устройства источника на беспроводное устройство получателя.

[0006] В одном примере способ передачи пользовательских данных от беспроводного устройства получателя на беспроводное устройство источника включает в себя получение данных о вводе данных пользователем в беспроводном устройстве получателя, причем данные о вводе данных пользователем имеют ассоциированные данные координат; нормализацию ассоциированных данных координат для генерирования нормализованных данных координат; генерирование пакета данных, содержащего нормализованные данные координат; передачу этого пакета данных на беспроводное устройство источника.

[0007] В другом примере беспроводное устройство получателя для передачи пользовательских данных на беспроводное устройство источника включает в себя память, хранящую команды; один или более процессоров, сконфигурированных для выполнения команд, причем после выполнения команд один или более процессоров вызывают получение данных о вводе данных пользователем в беспроводном устройстве получателя, причем данные о вводе данных пользователем имеют ассоциированные данные координат, нормализацию ассоциированных данных координат для генерирования нормализованных данных координат, генерирование пакета данных, содержащего нормализованные данные координат; и транспортный блок для передачи этого пакета данных на беспроводное устройство источника.

[0008] В другом примере считываемый компьютером запоминающий носитель хранит команды, которые после выполнения одним или более процессорами вынуждают один или более процессоров выполнять способ передачи пользовательских данных от беспроводного устройства получателя на беспроводное устройство источника. Способ включает в себя получение данных о вводе данных пользователем в беспроводном устройстве получателя, причем данные о вводе данных пользователем имеют ассоциированные данные координат; нормализацию ассоциированных данных координат для генерирования нормализованных данных координат; генерирование пакета данных, содержащего нормализованные данные координат; передачу этого пакета данных на беспроводное устройство источника.

[0009] В другом примере беспроводное устройство получателя для передачи пользовательских данных на беспроводное устройство источника включает в себя средство для получения данных о вводе данных пользователем в беспроводном устройстве получателя, причем данные о вводе данных пользователем имеют ассоциированные данные координат; средство для нормализации ассоциированных данных координат для генерирования нормализованных данных координат; средство для генерирования пакета данных, содержащего нормализованные данные координат; средство для передачи этого пакета данных на беспроводное устройство источника.

[0010] В другом примере способ приема пользовательских данных от беспроводного устройства получателя в беспроводном устройстве источника включает в себя прием пакета данных в беспроводном устройстве источника, причем пакет данных содержит данные о вводе данных пользователем с ассоциированными данными координат; нормализацию ассоциированных данных координат для генерирования нормализованных данных координат; обработку пакета данных на основании нормализованных данных координат.

[0011] В другом примере беспроводное устройство получателя для передачи пользовательских данных на беспроводное устройство источника включает в себя транспортный блок для приема пакета данных в беспроводном устройстве источника, причем пакет данных содержит данные о вводе данных пользователем с ассоциированными данными координат; память, хранящую команды; один или более процессоров, сконфигурированных для выполнения команд, причем после выполнения команд один или более процессоров вызывают нормализацию ассоциированных данных координат для генерирования нормализованных данных координат и обработку пакета данных на основании нормализованных данных координат.

[0012] В другом примере считываемый компьютером запоминающий носитель хранит команды, которые после выполнения одним или более процессорами вынуждают один или более процессоров выполнять способ приема пользовательских данных от беспроводного устройства получателя в беспроводном устройстве источника. Способ включает в себя прием пакета данных в беспроводном устройстве источника, причем пакет данных содержит данные о вводе данных пользователем с ассоциированными данными координат; нормализацию ассоциированных данных координат для генерирования нормализованных данных координат; обработку пакета данных на основании нормализованных данных координат.

[0013] В другом примере беспроводное устройство получателя для передачи пользовательских данных на беспроводное устройство источника включает в себя средство для приема пакета данных в беспроводном устройстве источника, причем пакет данных содержит данные о вводе данных пользователем с ассоциированными данными координат; средство для нормализации ассоциированных данных координат для генерирования нормализованных данных координат; средство для обработки пакета данных на основании нормализованных данных координат.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0014] ФИГ. 1A является блок-схемой, иллюстрирующей пример системы источника/получателя, которая может реализовать способы настоящего раскрытия.

[0015] ФИГ. 1B является блок-схемой, иллюстрирующей пример системы источника/получателя с двумя устройствами получателями.

[0016] ФИГ. 2 показывает пример устройства источника, которое может реализовать способы настоящего раскрытия.

[0017] ФИГ. 3 показывает пример устройства получателя, которое может реализовать способы настоящего раскрытия.

[0018] ФИГ. 4 показывает блок-схему системы передатчика и системы приемника, которые могут реализовать способы настоящего раскрытия.

[0019] ФИГ. 5А и 5B показывают примерные последовательности передачи сообщения для выполнения согласований возможностей согласно способам настоящего раскрытия.

[0020] ФИГ. 6 показывает примерный пакет данных, который может быть использован для доставки данных о вводе данных пользователем, полученных в устройстве получателя, на устройство источника.

[0021] ФИГ. 7А и 7B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для согласований возможностей между устройством источника и устройством получателя.

[0022] ФИГ. 8А и 8B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных с данными о вводе данных пользователем.

[0023] ФИГ. 9А и 9B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных с данными о вводе данных пользователем.

[0024] ФИГ. 10А и 10B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных с информацией о временной отметке и данными о вводе данных пользователем.

[0025] ФИГ. 11А и 11B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных с информацией о временной отметке и данными о вводе данных пользователем.

[0026] ФИГ. 12А и 12B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных, которые включают в себя голосовые команды.

[0027] ФИГ. 13А и 13B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных с командами ввода данных пользователем посредством множественных касаний.

[0028] ФИГ. 14А и 14B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных с данными о вводе пользователем, направленными от устройства третьего лица.

[0029] ФИГ. 15А и 15B являются блок-схемами, иллюстрирующими способы настоящего раскрытия, которые могут быть использованы для передачи и приема пакетов данных.

ПОДРОБНОЕ ОПИСАНИЕ

[0030] Настоящее раскрытие в целом описывает систему, в которой беспроводное устройство получателя может связываться с беспроводным устройством получателя. Как часть сеанса связи беспроводное устройство источника может передавать аудио и видео данные на беспроводное устройство получателя, и беспроводное устройство получателя может передавать вводы данных пользователем, принятые в беспроводном устройстве получателя, на беспроводное устройство источника. Таким образом, пользователь беспроводного устройства получателя может управлять беспроводным устройством источника и управлять контентом, который передается от беспроводного устройства источника на беспроводное устройство получателя.

[0031] ФИГ. 1A является блок-схемой, иллюстрирующей примерную систему 100 источника/получателя, которая может реализовать один или более способов настоящего раскрытия. Как показано на ФИГ. 1A, система 100 включает в себя устройство 120 источника, которое связывается с устройством 160 получателя с помощью канала 150 связи. Устройство 120 источника может включать в себя память, которая хранит аудио/видео (A/V) данные 121, дисплей 122, динамик 123, кодер 124 аудио/видео (также называемый кодером 124), модуль 125 управления аудио/видео и блок 126 передатчика/приемника (TX/RX). Устройство 160 получателя может включать в себя дисплей 162, динамик 163, декодер 164 аудио/видео (также называемый декодером 164), блок 166 передатчика/приемника, устройство 167 ввода данных пользователем (UI) и модуль 168 обработки ввода данных пользователем (UIPM). Иллюстрированные компоненты составляют просто одну примерную конфигурацию для системы 100 источника/получателя. Другие конфигурации могут включать в себя меньше компонентов, чем те, которые иллюстрированы, или могут включать в себя дополнительные компоненты, чем те, которые иллюстрированы.

[0032] В примере ФИГ. 1A устройство 120 источника может отображать часть видео аудио/видео данных 121 на дисплее 122 и может выводить часть аудио аудио/видео данных 121 на динамик 123. Аудио/видео данные 121 могут храниться локально на устройстве 120 источника, к которому можно получить доступ от внешнего запоминающего носителя, такого как файловый сервер, жесткий диск, внешняя память, диск blue-ray, DVD или другой физический запоминающий носитель, или могут быть переданы в виде потока на устройство 120 источника с помощью сетевого соединения, такого как Интернет. В некоторых случаях аудио/видео данные 121 могут быть захвачены в режиме реального времени с помощью камеры и микрофона устройства 120 источника. Аудио/видео данные 121 могут включать в себя мультимедийный контент, такой как фильмы, телешоу или музыка, но могут также включать в себя контент в реальном времени, сгенерированный устройством 120 источника. Такой контент в реальном времени, например, может быть сформирован приложениями, работающими на устройстве 120 источника, или захваченными видео данными, например, как часть сеанса видео телефонии. Как будет описано более подробно, такой контент в реальном времени может в некоторых случаях включать в себя видео кадр опций ввода данных пользователем, доступных пользователю для выбора. В некоторых случаях аудио/видео данные 121 могут включать в себя видео кадры, которые являются комбинацией различных типов контента, такого как видео кадр кино или телепрограммы, которая имеет опции ввода данных пользователем, наложенные на кадр видео.

[0033] В дополнение к воспроизведению аудио/видео данных 121 локально с помощью дисплея 122 и динамика 123 кодер 124 аудио/видео устройства 120 источника может кодировать аудио/видео данные 121, и блок 126 передатчика/приемника может передавать закодированные данные по каналу 150 связи на устройство 160 получателя. Блок 166 передатчика/приемника устройства 160 получателя принимает закодированные данные, и декодер 164 аудио/видео декодирует закодированные данные и выводит декодированные данные с помощью дисплея 162 и динамика 163. Таким образом, аудио и видео данные, воспроизведенные посредством дисплея 122 и динамика 123, могут быть одновременно воспроизведены дисплеем 162 и динамиком 163. Аудио данные и видео данные могут быть скомпонованы в кадрах, и аудио кадры могут быть синхронизированы во времени с видео кадрами при воспроизведении.

[0034] Кодер 124 аудио/видео и декодер 164 аудио/видео могут реализовывать любое количество стандартов сжатия аудио и видео, таких как стандарт ITU-T H.264, альтернативно называемый MPEG-4, Часть 10, усовершенствованное кодирование видео (AVC) или недавно появившийся стандарт кодирования видео высокой эффективности (HEVC), иногда называемым стандартом H.265. Также может быть использовано много других типов составляющих собственность или стандартизированных способов сжатия. В целом, декодер 164 аудио/видео сконфигурирован для выполнения взаимно обратных операций кодирования кодера 124 аудио/видео. Хотя не показано на ФИГ. 1A, в некоторых аспектах кодер 124 A/V и декодер 164 A/V могут быть объединены с кодером и декодером аудио и могут включать в себя соответствующие блоки MUX-DEMUX или другое аппаратное и программное обеспечение, чтобы управлять кодированием как аудио, так и видео в общем потоке данных или в отдельных потоках данных.

[0035] Как будет описано более подробно ниже, кодер 124 A/V может также выполнять другие функции кодирования в дополнение к реализации стандарта сжатия видео, как описано выше. Например, кодер 124 A/V может добавлять различные типы метаданных к A/V данным 121 до передачи A/V данных 121 на устройство 160 получателя. В некоторых случаях A/V данные 121 могут быть сохранены на или приняты в устройстве 120 источника в закодированной форме и, таким образом, не требовать дополнительного сжатия посредством кодера 124 A/V.

[0036] Хотя ФИГ. 1A показывает канал 150 связи, переносящий полезные аудио данные и полезные видео данные отдельно, должно быть понятно, что в некоторых случаях полезные видео данные и полезные аудио данные могут быть частью общего потока данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP). Кодер 124 аудио/видео и декодер 164 аудио/видео могут быть реализованы как один или более из микропроцессоров, цифровых сигнальных процессоров (процессоров DSP), специализированных интегральных схем (схем ASIC), программируемых пользователем вентильных матриц (матриц FPGA), дискретной логики, программного обеспечения, аппаратного обеспечения, программно-аппаратного обеспечения или любых их комбинаций. Каждый из кодера 124 аудио/видео и декодера 164 аудио/видео может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть объединенного кодера/декодера (КОДЕКА). Таким образом, каждое устройство 120 источника и устройство 160 получателя может содержать специализированные машины, сконфигурированные для выполнения одного или более способов настоящего раскрытия.

[0037] Дисплей 122 и дисплей 162 могут содержать любое множество устройств вывода видео, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, светодиодный дисплей (LED), дисплей на органических светодиодах (OLED) или другой тип устройства отображения. В этих или других примерах дисплеи 122 и 162 могут быть излучающими дисплеями или пропускающими дисплеями. Дисплей 122 и дисплей 162 могут также быть сенсорными дисплеями, таким образом, чтобы они одновременно были как устройствами ввода, так и устройствами отображения. Такие сенсорные дисплеи могут быть емкостными, резистивными или другим типом сенсорной панели, которая разрешает пользователю обеспечить ввод пользовательских данных соответствующему устройству.

[0038] Динамик 123 может содержать любое множество устройств вывода аудио, таких как наушники, система с единственным динамиком, система с множеством динамиков или система окружающего звука. Дополнительно, хотя дисплей 122 и динамик 123 показаны как часть устройства 120 источника, и дисплей 162 и динамик 163 показаны как часть устройства 160 получателя, устройство 120 источника и устройство 160 получателя могут фактически быть системой устройств. В качестве одного примера, дисплей 162 может быть телевизионным приемником, динамик 163 может быть системой окружающего звука, и декодер 164 может быть частью внешнего блока, соединенного или проводным, или беспроводным способом с дисплеем 162 и динамиком 163. В других случаях устройство 160 получателя может быть единственным устройством, таким как планшетный компьютер или смартфон. В еще других случаях устройство 120 источника и устройство 160 получателя являются аналогичными устройствами, например оба являются смартфонами, планшетными компьютерами и т.п. В этом случае одно устройство может работать как источник, а другое может работать как получатель. Эти списки могут быть даже полностью изменены в последующих сеансах связи. В еще других случаях устройство источника может содержать мобильное устройство, такое как смартфон, ноутбук или планшетный компьютер, и устройство получателя может содержать более стационарное устройство (например, со шнуром питания АС), в этом случае устройство источника может поставлять аудио и видео данные для презентации многочисленной группе людей с помощью устройства получателя.

[0039] Блок 126 передатчика/приемника и блок 166 передатчика/приемника могут включать в себя различные микшеры, фильтры, усилители и другие компоненты, сконструированные для модуляции сигнала, а также одну или более антенн и другие компоненты, сконструированные для передачи и приема данных. Канал 150 связи в целом представляет любой подходящий коммуникационный носитель или коллекцию различных коммуникационных носителей для передачи видео данных от устройства 120 источника на устройство 160 получателя. Канал 150 связи обычно является каналом связи относительно малой дальности аналогично Wi-Fi, Bluetooth и т.п. Однако канал 150 связи не обязательно ограничивается в этом отношении и может содержать любой беспроводной или проводной коммуникационный носитель, такой как радиочастотный спектр (RF) (РЧ), или одну или более физических линий передачи, или любую комбинацию беспроводных и проводных носителей. В других примерах канал 150 связи может даже быть частью пакетной сети, такой как проводная или беспроводная локальная сеть, широкомасштабная сеть или глобальная сеть, такая как Интернет. Дополнительно, канал 150 связи может быть использован устройством 120 источника и устройством 160 получателя, чтобы создать одноранговую линию связи. Устройство 120 источника и устройство 160 получателя могут связываться по каналу 150 связи, используя протокол передачи данных, такой как стандарт из группы стандартов IEEE 802.11. Устройство 120 источника и устройство 160 получателя могут, например, связываться согласно стандарту Wi-Fi Direct таким образом, чтобы устройство 120 источника и устройство 160 получателя связывались непосредственно друг с другом без использования посредника, такого как беспроводные точки доступа или так называемая горячая точка. Устройство 120 источника и устройство 160 получателя могут также установить установку туннелированной прямой линии связи (TLDS), чтобы избежать или уменьшить перегрузку сети. Способы настоящего раскрытия могут время от времени быть описаны относительно Wi-Fi, но рассматривается, что аспекты этих способов могут также быть совместимы с другими протоколами передачи данных. Посредством примера, а не ограничения, беспроводная связь между устройством 120 источника и устройством получателя может использовать способы ортогонального мультиплексирования с частотным разделением каналов (OFDM). Также может быть использовано большое разнообразие других способов беспроводной связи, включающих в себя, но не ограниченных ими, множественный доступ с временным разделением каналов (TDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с кодовым разделением каналов (CDMA) или любую комбинацию OFDM, FDMA, TDMA и/или CDMA. WiFi Direct и TDLS предназначены для установки сеансов связи на относительно короткие расстояния. Относительно короткое расстояние в этом контексте может относиться, например, к менее чем 70 метрам, хотя в шумной или создающей помехи окружающей среде расстояние между устройствами может быть еще короче, например меньше чем 35 метров.

[0040] В дополнение к декодированию и воспроизведению данных, принятых от устройства 120 источника, устройство 160 получателя может также принять вводы пользовательских данных от устройства 167 пользовательского ввода. Устройство 167 пользовательского ввода может, например, быть клавиатурой, мышью, трекболом или сенсорным планшетом, сенсорным экраном, модулем распознавания голосовой команды или любым другим таким устройством пользовательского ввода. UIPM 168 форматирует команды пользовательского ввода, принятые устройством 167 пользовательского ввода, в структуру пакета данных, которую устройство 120 источника способно интерпретировать. Такие пакеты данных передаются передатчиком/приемником 166 на устройство 120 получателя по каналу 150 связи. Блок 126 передатчика/приемника принимает пакеты данных, и модуль 125 управления A/V проводит синтаксический анализ пакетов данных, чтобы интерпретировать команду пользовательского ввода, которая была принята устройством 167 пользовательского ввода. На основании команды, принятой в пакете данных, модуль 125 управления A/V может изменить контент, закодированный и переданный. Таким образом, пользователь устройства 160 получателя может управлять полезными аудио данными и полезными видео данными, передаваемыми устройством 120 источника, удаленно и без непосредственного взаимодействия с устройством 120 источника. Примеры типов команд, которые пользователь устройства 160 получателя может передать на устройство 120 источника, включают в себя команды для перемотки назад, ускоренной перемотки, приостановки и проигрывания аудио и видео данных, а также команды для изменения масштаба изображения, вращения, прокручивания и т.д. Пользователи могут также сделать выборы из меню опций, например, и передать выбор назад на устройство 120 источника.

[0041] Дополнительно, пользователи устройства 160 получателя могут быть в состоянии запустить и управлять приложениями на устройстве 120 источника. Например, пользователь устройства 160 получателя может быть способен запустить приложение редактирования фотографий, сохраненное на устройстве 120 источника, и использовать это приложение для редактирования фотографии, которая локально сохранена на устройстве 120 источника. Устройство 160 получателя может предоставить пользователю пользовательский опыт, который выглядит и воспринимается как фотография, которая редактируется локально на устройстве 160 получателя, в то время как фактически фотография редактируется на устройстве 120 источника. Используя такую конфигурацию, пользователь устройства может быть в состоянии эффективно использовать возможности одного устройства для использования с несколькими устройствами. Например, устройство 120 источника может быть смартфоном с большим объемом памяти и возможностями обработки на высоком уровне. Пользователь устройства 120 источника может использовать смартфон во всех параметрах настройки и ситуациях, в которых обычно используются смартфоны. Однако при просмотре кино пользователь может захотеть смотреть кино на устройстве с большим экраном дисплея, в этом случае устройство 160 получателя может быть планшетным компьютером, или еще более крупным устройством отображения, или телевизором. Желая послать или ответить на сообщение электронной почты, пользователь может захотеть использовать устройство с клавиатурой, в этом случае устройство 160 получателя может быть ноутбуком. В обоих случаях большая часть обработки может быть все еще выполнена устройством 120 источника (смартфоном в этом примере) даже притом, что пользователь взаимодействует с устройством получателя. В этом конкретном операционном контексте из-за большой части обработки, выполняемой устройством 120 источника, устройство 160 получателя может быть более дешевым устройством с меньшим количеством ресурсов, чем если бы устройство 160 получателя запросили сделать обработку, выполняемую устройством 120 источника. Как устройство источника так и устройство получателя могут быть способны принять пользовательский ввод (например, команды сенсорного экрана) в некоторых примерах, и способы настоящего раскрытия могут облегчить двустороннее взаимодействие посредством согласования и идентификации возможностей устройств в любом данном сеансе.

[0042] В некоторой конфигурации модуль 125 управления A/V может быть процессом операционной системы, выполняемым операционной системой устройства 125 источника. Однако в других конфигурациях модуль 125 управления A/V может быть процессом программного обеспечения приложения, работающего на устройстве 120 источника. В такой конфигурации команда пользовательского ввода может интерпретироваться процессом программного обеспечения таким образом, чтобы пользователь устройства 160 получателя непосредственно взаимодействовал с приложением, работающим на устройстве 120 источника, по сравнению с операционной системой, работающей на устройстве 120 источника. Посредством непосредственного взаимодействия с приложением, по сравнению с операционной системой, пользователь устройства 160 получателя может иметь доступ к библиотеке команд, которые нехарактерны для операционной системы устройства 120 источника. Дополнительно, непосредственное взаимодействие с приложением может разрешить командам более легко передаваться и обрабатываться устройствами, работающими на различных платформах.

[0043] Устройство 120 источника может ответить на пользовательские вводы, примененные в беспроводном устройстве 160 получателя. В такой установке параметров интерактивного приложения пользовательские вводы, примененные в беспроводном устройстве 160 получателя, могут быть посланы назад на беспроводной источник дисплея по каналу 150 связи. В одном примере архитектура реверсивного канала, также называемая обратным каналом пользовательского интерфейса (UIBC), может быть реализована, чтобы разрешить устройству 160 получателя передавать пользовательские вводы, примененные в устройстве 160 получателя, на устройство 120 источника. Архитектура реверсивного канала может включать в себя сообщения верхнего уровня для транспортировки пользовательских вводов и кадры нижнего уровня для согласования возможностей пользовательского интерфейса в устройстве 160 получателя и устройстве 120 источника. UIBC может располагаться над транспортным уровнем Интернет-протокола (IP) между устройством 160 получателя и устройством 120 источника. Таким образом, UIBC может быть выше транспортного уровня в модели связи взаимодействия открытых систем (OSI). В одном примере связь OSI включает в себя семь уровней (1 - физический, 2 - линия передачи данных, 3 - сетевой, 4 - транспортный, 5 - сеансовый, 6 - представлений и 7 - приложений). В этом примере расположение выше транспортного уровня относится к уровням 5, 6 и 7. Чтобы способствовать надежной передаче и последовательной доставке пакетов данных, содержащих данные о вводе пользовательских данных, UIBC может быть сконфигурирован работающим поверх других протоколов пакетной передачи данных, таких как протокол управления передачей/Интернет-протокол (TCP/IP) или протокол пользовательских дейтаграмм (UDP). UDP и TCP могут работать параллельно в архитектуре уровня OSI. TCP/IP может разрешить устройству 160 получателя и устройству 120 источника реализовывать способы повторной передачи в случае потери пакетов.

[0044] В некоторых случаях может быть несовпадение между интерфейсами пользовательского ввода, расположенными в устройстве 120 источника и устройстве 160 получателя. Чтобы решить потенциальные проблемы, созданные таким несовпадением, и повысить хороший пользовательский опыт при таких обстоятельствах, согласование возможностей интерфейса пользовательского ввода может иметь место между устройством 120 источника и устройством 160 получателя до установления сеанса связи или в различные моменты времени в течение сеанса связи. Как часть этого процесса согласования устройство 120 источника и устройство 160 получателя могут договориться о согласованном разрешении экрана. Когда устройство 160 получателя передает данные координат, ассоциированные с пользовательским вводом, устройство 160 получателя может масштабировать данные координат, полученные от дисплея 162, чтобы они совпали с согласованным разрешением экрана. В одном примере, если устройство 160 получателя имеет разрешение 1280×720 и устройство 120 источника имеет разрешение 1600×900, устройства могут, например, использовать 1280×720 в качестве своего согласованного разрешения. Согласованное разрешение может быть выбрано на основании разрешения устройства 160 получателя, хотя может также быть использовано разрешение устройства 120 источника или некоторое другое разрешение. В примере, в котором используется устройство получателя с разрешением 1280×720, устройство 160 получателя может масштабировать полученные x-координаты посредством коэффициента 1600/1280 до передачи координат на устройство 120 источника, и аналогично устройство 160 получателя может масштабировать полученные y-координаты посредством 900/720 до передачи координат на устройство 120 источника. В других конфигурациях устройство 120 источника может масштабировать полученные координаты к согласованному разрешению. Масштабирование может или увеличить или уменьшить диапазон координат на основании того, использует ли устройство 160 получателя дисплей с более высоким разрешением, чем устройство 120 источника, или наоборот.

[0045] Дополнительно, в некоторых случаях разрешение в устройстве 160 получателя может изменяться во время сеанса связи, потенциально создавая несовпадение между дисплеем 122 и дисплеем 162. Чтобы повысить пользовательский опыт и гарантировать надлежащие функциональные возможности, система 100 источника/получателя может реализовать способы для уменьшения или предотвращения несовпадения пользовательского взаимодействия посредством реализации способов для нормализации экрана. Дисплей 122 устройства 120 источника и дисплей 162 устройства 160 получателя могут иметь разные разрешения и/или разные соотношения сторон. Дополнительно, при некоторых параметрах настройки пользователь устройства 160 получателя может иметь способность изменить размеры окна экрана дисплея для видео данных, принятых от устройства 120 источника таким образом, чтобы видео данные, принятые от устройства 120 источника, были воспроизведены в окне, которое охватывает меньше, чем весь дисплей 162 устройства 160 получателя. При других примерных параметрах настройки пользователь устройства 160 получателя может иметь опцию просмотра контента или в режиме "горизонтальной ориентации", или в режиме "портрет", каждый из которых имеет уникальные координаты и разные соотношения сторон. В таких ситуациях координаты, ассоциированные с пользовательским вводом, принятым в устройстве 160 получателя, такие как координата того, где имеет место щелчок мыши или событие касания, могут не быть способны обрабатываться устройством 120 источника без модификации координат. Соответственно, способы настоящего раскрытия могут включать в себя отображение координат пользовательского ввода, принятого в устройстве 160 получателя, в координаты, ассоциированные с устройством 120 источника. Это отображение также называется нормализацией в настоящем описании, и, как будет объяснено более подробно ниже, это отображение может быть основано или на получателе, или на источнике.

[0046] Пользовательские вводы, принятые устройством 160 получателя, могут быть приняты модулем 167 UI на уровне драйвера, например, и направлены в операционную систему устройства 160 получателя. Операционная система в устройстве 160 получателя может принимать координаты (xSINK, ySINK), ассоциированные с тем, где на поверхности дисплея имел место пользовательский ввод. В этом примере (xSINK, ySINK) могут быть координатами дисплея 162, в котором имел место щелчок мыши или событие касания. Окно экрана дисплея, воспроизводимое на дисплее 162, может иметь длину x-координаты (LDW) и ширину y-координаты (WDW), которые описывают размер окна экрана дисплея. Окно экрана дисплея может также иметь координату верхнего левого угла (aDW, bDW), которая описывает местоположение окна экрана дисплея. На основании LDW, WDW и верхней левой координаты (aDW, bDW) может быть определена часть дисплея 162, охваченная окном экрана дисплея. Например, правый верхний угол окна экрана дисплея может быть расположен в координате (aDW+LDW, bDW), левый нижний угол окна экрана дисплея может быть расположен в координате (aDW, bDW+WDW), и правый нижний угол окна экрана дисплея может быть расположен в координате (aDW+LDW, bDW+WDW). Устройство 160 получателя может обработать ввод как ввод UIBC, если этот ввод принят в координате в пределах окна экрана дисплея. Другими словами, ввод с ассоциированными координатами (xSINK, ySINK) может быть обработан как ввод UIBC, если удовлетворены следующие условия:

aDW≤xSINK≤aDW+LDW (1)

bDW≤ySINK≤bDW+WDW (2)

[0047] После определения, что пользовательский ввод является вводом UIBC, координаты, ассоциированные с этим вводом, могут быть нормализованы посредством UIPM 168 до передачи на устройство 120 источника. Вводы, которые определены как вне окна экрана дисплея, могут быть обработаны локально устройством 160 получателя как вводы не-UIBC.

[0048] Как упомянуто выше, нормализация координат ввода может быть основана или на источнике, или на получателе. При реализации основанной на получателе нормализации устройство 120 источника может послать поддерживаемое разрешение дисплея (LSRC, WSRC) для дисплея 122, или с видео данными, или независимо от видео данных, на устройство 160 получателя. Поддерживаемое разрешение дисплея, например, может быть передано как часть сеанса согласования возможностей или может быть передано в другое время во время сеанса связи. Устройство 160 получателя может определить разрешение дисплея (LSINK, WSINK) для дисплея 162, разрешение окна экрана дисплея (LDW, WDW) для окна, отображающего контент, принятый от устройства 120 источника, и координату левого верхнего угла (aDW, bDW) для окна экрана дисплея. Как описано выше, когда координата (xSINK, ySINK), соответствующая пользовательскому вводу, определяется в пределах окна экрана дисплея, операционная система устройства 160 получателя может отобразить координату (xSINK, ySINK) в исходные координаты (xSRC, ySRC), используя функции преобразования. Примерные функции преобразования для преобразования (xSINK, ySINK) в (xSRC, ySRC) могут быть следующими:

xSRC=(xSINK-aDW)*(LSRC/LDW) (3)

ySRC=(ySINK-bDW)*(WSRC/WDW) (4)

[0049] Таким образом, при передаче координаты, соответствующей принятому пользовательскому вводу, устройство 160 получателя может передать координату (xSRC, ySRC) для пользовательского ввода, принятого в (xSINK, ySINK). Как будет описано более подробно ниже, координата (xSRC, ySRC), например, может быть передана как часть пакета данных, используемого для передачи пользовательского ввода, принятого в устройстве 160 получателя, на устройство 120 источника по UIBC. На протяжении других частей настоящего раскрытия, в котором координаты ввода описаны как включенные в пакет данных, эти координаты могут быть преобразованы в исходные координаты, как описано выше в случаях, в которых система 100 источника/получателя реализует основанную на получателе нормализацию.

[0050] Когда система 100 источника/получателя реализует основанную на источнике нормализацию, для пользовательских вводов, определенных вводами UIBC, по сравнению с локальными вводами (то есть в пределах окна экрана дисплея, противолежащей внешней стороне окна экрана дисплея), вычисления, описанные выше, могут быть выполнены в устройстве 120 источника вместо устройства 160 получателя. Чтобы облегчить такие вычисления, устройство 160 получателя может передать на устройство 120 источника значения для LDW, WDW и информацию о местоположении для окна экрана дисплея (например, aDW, bDW), а также координаты для (xSINK, ySINK). Используя эти переданные значения, устройство 120 источника может определить значения для (xSRC, ySRC) согласно уравнениям 3 и 4, представленным выше.

[0051] В других реализациях основанной на получателе нормализации устройство 160 получателя может передать координаты (xDW, yDW) для пользовательского ввода, которые описывают, где в пределах окна экрана дисплея имеет место событие пользовательского ввода, в противоположность тому, где на дисплее 162 имеет место пользовательский ввод. В такой реализации координаты (xDW, yDW) могут быть переданы на устройство 120 источника наряду со значениями для (LDW, WDW). На основании этих принятых значений устройство 120 источника может определить (xSRC, ySRC) согласно следующим функциям преобразования:

xSRC=xDW*(LSRC/LDW) (5)

ySRC=yDW*(WSRC/WDW) (6)

Устройство 160 получателя может определить xDW и yDW на основании следующих функций:

xDW=xSINK-aDW (7)

yDW=ySINK-bDW (8)

[0052] Когда настоящее раскрытие описывает передачу координат, ассоциированных с пользовательским вводом, в пакете данных, например, передача этих координат может включать в себя основанную на получателе или основанную на источнике нормализацию, как описано выше, и/или может включать в себя любую дополнительную информацию, необходимую для выполнения основанной на получателе или основанной на источнике нормализации.

[0053] UIBC может быть сконструирован для транспортировки различных типов данных пользовательского ввода, включающих в себя межплатформенные данные ввода данных пользователя. Например, устройство 120 источника может управлять операционной системой iOS®, в то время как устройство 160 получателя управляет другой операционной системой, такой как Android® или Windows®. Независимо от платформы UIPM 168 может инкапсулировать принятый пользовательский ввод в форме, понятной модулю 125 управления A/V. Ряд различных типов форматов пользовательского ввода могут поддерживаться посредством UIBC таким образом, чтобы разрешить многим различным типам устройств источника и получателя использовать протокол независимо от того, работают ли устройства источника и получателя на разных платформах. Могут быть определены общие форматы ввода, и могут поддерживаться специфичные для платформы форматы ввода, таким образом обеспечивая гибкость способом, в котором пользовательский ввод может быть передан между устройством 120 источника и устройством 160 получателя посредством UIBC.

[0054] В примере на ФИГ. 1A устройство 120 источника может содержать смартфон, планшетный компьютер, ноутбук, настольный компьютер, телевизор с поддержкой Wi-Fi или любое другое устройство, способное передавать аудио и видео данные. Устройство 160 получателя может аналогично содержать смартфон, планшетный компьютер, ноутбук, настольный компьютер, телевизор с поддержкой Wi-Fi или любое другое устройство, способное принять аудио и видео данные и принять данные пользовательского ввода. В некоторых случаях устройство 160 получателя может включать в себя систему устройств, таких как дисплей 162, динамик 163, устройство 167 UI и кодер 164 A/V всех частей отдельных, но взаимодействующих устройств. Устройство 120 источника может аналогично быть системой устройств, а не единственным устройством.

[0055] В настоящем раскрытии термин "устройство источника" в целом используется, чтобы относиться к устройству, которое передает аудио/видео данные, и термин "устройство получателя" в целом используется, чтобы относиться к устройству, которое принимает аудио/видео данные от устройства источника. Во многих случаях устройство 120 источника и устройство 160 получателя могут быть аналогичными или идентичными устройствами, с одним устройством, работающим как источник, и другим, работающим как получатель. Кроме того, эти списки могут быть реверсированы в различных сеансах связи. Таким образом, устройство получателя в одном сеансе связи может стать устройством источника в последующем сеансе связи или наоборот.

[0056] ФИГ. 1B является блок-схемой, иллюстрирующей примерную систему 101 источника/получателя, которая может реализовать способы настоящего раскрытия. Система 101 источника/получателя включает в себя устройство 120 источника и устройство 160 получателя, каждое из которых может функционировать и работать так, как описано выше для ФИГ. 1A. Система 101 источника/получателя дополнительно включает в себя устройство 180 получателя. Аналогично устройству 160 получателя, описанному выше, устройство 180 получателя может принимать аудио и видео данные от устройства 120 источника и передавать пользовательские команды на устройство 120 источника по установленному UIBC. В некоторых конфигурациях устройство 160 получателя и устройство 180 получателя могут работать независимо друг от друга, и вывод аудио и видео данных в устройстве 120 источника может быть одновременно выведен в устройстве 160 получателя и устройстве 180 получателя. В дополнительных конфигурациях устройство 160 получателя может быть первичным устройством получателя, и устройство 180 получателя может быть вторичным устройством получателя. В такой примерной конфигурации могут быть подсоединены устройство 160 получателя и устройство 180 получателя, и устройство 160 получателя может отображать видео данные, в то время как устройство 180 получателя выводит соответствующие аудио данные. Дополнительно, в некоторых конфигурациях устройство 160 получателя может выводить переданные видео данные только тогда, когда устройство 180 получателя выводит переданные аудио данные.

[0057] ФИГ. 2 является блок-схемой, показывающей один пример устройства 220 источника. Устройство 220 источника может быть устройством, аналогичным устройству 120 источника на ФИГ. 1A, и может работать так же, как устройство 120 источника. Устройство 220 источника включает в себя локальный дисплей 222, локальный динамик 223, процессоры 231, память 232, транспортный блок 233 и беспроводной модем 234. Как показано на ФИГ. 2, устройство 220 источника может включать в себя один или более процессоров (то есть процессор 231), которые кодируют и/или декодируют A/V данные для транспортировки, хранения и отображения. A/V данные могут, например, храниться в памяти 232. Память 232 может хранить весь A/V файл или может содержать буфер меньшего размера, который просто хранит часть A/V файла, например, переданного посредством потока от другого устройства или источника. Транспортный блок 233 может обрабатывать закодированные A/V данные для сетевого транспорта. Например, закодированные A/V данные могут быть обработаны процессором 231 и инкапсулированы транспортным блоком 233 в блоки уровня доступа к сети (NAL) для связи через сеть. Блоки NAL могут быть посланы беспроводным модемом 234 на беспроводное устройство получателя с помощью сетевого соединения. Беспроводной модем 234 может, например, быть модемом Wi-Fi, сконфигурированным для реализации одного из группы стандартов IEEE 802.11.

[0058] Устройство 220 источника может также локально обрабатывать и отображать A/V данные. В частности, процессор 235 дисплея может обрабатывать видео данные, которые должны быть отображены на локальном дисплее 222, аудио процессор 236 может обрабатывать аудио данные для вывода на динамике 223.

[0059] Как описано выше со ссылками на устройство 120 источника согласно ФИГ. 1A, устройство 220 источника может также принимать команды пользовательского ввода от устройства получателя. Таким образом, беспроводной модем 234 устройства 220 источника принимает пакеты инкапсулированных данных, например блоки NAL, и посылает блоки инкапсулированных данных в транспортный блок 233 для декапсулирования. Например, транспортный блок 233 может извлечь пакеты данных из блоков NAL, и процессор 231 может провести синтаксический анализ пакетов данных, чтобы извлечь команды пользовательского ввода. На основании команд пользовательского ввода процессор 231 может настраивать закодированные A/V данные, передаваемые устройством 220 источника на устройство получателя. Таким образом, функциональные возможности, описанные выше относительно модуля 125 управления A/V согласно ФИГ. 1A, могут быть реализованы или полностью, или частично процессором 231.

[0060] Процессор 231 согласно ФИГ. 2 в целом представляет любое большое разнообразие процессоров, включающих в себя, но не ограниченных, один или более цифровых сигнальных процессоров (процессоры DSP), микропроцессоров общего назначения, специализированных интегральных схем (схем ASIC), программируемых пользователем вентильных матриц (матриц FPGA), других эквивалентных интегральных или дискретных логических схем или некоторую их комбинацию. Память 232 согласно ФИГ. 2 может содержать любое большое разнообразие из энергозависимой или энергонезависимой памяти, включающей в себя, но не ограниченной ими, оперативное запоминающее устройство (RAM), такое как синхронное динамическое оперативное запоминающее устройство (SDRAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое постоянное запоминающее устройство (EEPROM), флэш-память и т.п. Память 232 может содержать считываемый компьютером запоминающий носитель для хранения аудио/видео данных, а также других видов данных. Память 232 может дополнительно хранить команды и программный код, которые выполняются процессором 231, как часть выполнения различных способов, описанных в настоящем раскрытии.

[0061] ФИГ. 3 показывает пример устройства 360 получателя. Устройство 360 получателя может быть устройством, аналогичным устройству 160 получателя на ФИГ. 1A, и может работать так же, как устройство 160 получателя. Устройство 360 получателя включает в себя один или более процессоров (то есть процессор 331), память 332, транспортный блок 333, беспроводной модем 334, процессор 335 дисплея, локальный дисплей 362, аудио процессор 336, динамик 363 и интерфейс 376 пользовательского ввода. Устройство 360 получателя принимает в беспроводном модеме 334 блок инкапсулированных данных, посланных от устройства источника. Беспроводной модем 334, например, может быть модемом Wi-Fi, сконфигурированным для реализации еще одного стандарта из группы стандартов IEEE 802.11. Транспортный блок 333 может декапсулировать блоки инкапсулированных данных. Например, транспортный блок 333 может извлечь закодированные видео данные из блоков инкапсулированных данных и послать закодированные A/V данные на процессор 331, которые должны быть декодированы и воспроизведены для вывода. Процессор 335 дисплея может обрабатывать декодированные видео данные, которые должны быть отображены на локальном дисплее 362, и аудио процессор 336 может обрабатывать декодированные аудио данные для вывода на динамике 363.

[0062] В дополнение к воспроизведению аудио и видео данных беспроводное устройство 360 получателя может также принять данные пользовательского ввода через интерфейс 376 пользовательского ввода. Интерфейс 376 пользовательского ввода может представлять любое из ряда устройств пользовательского ввода, включенных, но не ограниченных ими, в интерфейс сенсорного дисплея, клавиатуру, мышь, модуль голосовых команд, устройство захвата жеста (например, с основанными на камере возможностями захвата ввода данных) или любое другое из ряда устройств пользовательского ввода. Пользовательский ввод, принятый через интерфейс 376 пользовательского ввода, может быть обработан процессором 331. Эта обработка может включать в себя генерирование пакетов данных, которые включают в себя принятую команду пользовательского ввода, в соответствии со способами, описанными в настоящем раскрытии. После генерирования транспортный блок 333 может обрабатывать пакеты данных для сетевой транспортировки на беспроводное устройство источника по UIBC.

[0063] Процессор 331 согласно ФИГ. 3 может содержать один или несколько процессоров широкого диапазона, таких как один или более цифровых сигнальных процессоров (процессоров DSP), микропроцессоры общего назначения, специализированные интегральные схемы (схемы ASIC), программируемые пользователем вентильные матрицы (матрицы FPGA), другую эквивалентную интегрированную или дискретную логическую схему или некоторую их комбинацию. Память 332 согласно ФИГ. 3 может содержать любое большое разнообразие энергозависимой или энергонезависимой памяти, включающей в себя, но не ограниченной ими, оперативное запоминающее устройство (RAM), такое как синхронное динамическое оперативное запоминающее устройство (SDRAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память и т.п. Память 232 может содержать считываемый компьютером запоминающий носитель для хранения аудио/видео данных, а также других видов данных. Память 332 может дополнительно хранить команды и программный код, которые выполняются процессором 331, как часть выполнения различных способов, описанных в настоящем раскрытии.

[0064] ФИГ. 4 показывает блок-схему примерной системы 410 передатчика и системы 450 приемника, которые могут быть использованы передатчиком/приемником 126 и передатчиком/приемником 166 согласно ФИГ. 1А для связи по каналу 150 связи. В системе 410 передатчика данные трафика для ряда потоков данных выдаются от источника 412 данных в процессор 414 (TX) передачи данных. Каждый поток данных может быть передан по соответствующей антенне передачи. Процессор 414 TX передачи данных форматирует, кодирует и чередует данные трафика для каждого потока данных на основании конкретной схемы кодирования, выбранной для этого потока данных.

[0065] Закодированные данные для каждого потока данных могут быть мультиплексированы с данными пилот-сигнала, используя способы мультиплексирования с ортогональным частотным разделением каналов (OFDM). Может быть также использовано большое разнообразие других способов беспроводной связи, включающих в себя, но не ограниченных ими, множественный доступ с временным разделением каналов (TDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с кодовым разделением каналов (CDMA) или любую комбинацию OFDM, FDMA, TDMA и/или CDMA.

[0066] В соответствии с ФИГ. 4 данные пилот-сигнала обычно являются известным шаблоном данных, который обрабатывается известным способом и может быть использован в системе приемника для оценки ответа канала. Мультиплексированные данные пилот-сигнала и закодированные данные для каждого потока данных затем модулируются (например, отображаются в символы) на основании конкретной схемы модуляции (например, двоичной фазовой манипуляции (BPSK), квадратурной фазовой манипуляции (QPSK), М-PSK или М-QAM (квадратурной амплитудной модуляции), где М может быть степенью двойки), выбранной для этого потока данных, чтобы выдать символы модуляции. Скорость передачи данных, кодирование и модуляция для каждого потока данных могут быть определены командами, выполненными процессором 430, который может быть подсоединен к памяти 432.

[0067] Затем символы модуляции для потоков данных выдаются в процессор 420 MIMO TX передачи данных, который может дополнительно обрабатывать символы модуляции (например, для OFDM). Затем процессор 420 MIMO TX передачи данных может выдавать NT символьных потоков модуляции в NT передатчиков (TMTR) 422a-422t. В некоторых аспектах процессор 420 MIMO TX передачи данных применяет веса формирования диаграммы направленности к символам потоков данных и к антенне, от которой передается символ.

[0068] Каждый передатчик 422 может принимать и обрабатывать соответствующий символьный поток, чтобы выдавать один или более аналоговых сигналов, и дополнительно приводить к требуемым условиям (например, усиливать, фильтровать и преобразовывать с повышением частоты) аналоговые сигналы, чтобы выдавать модулированный сигнал, подходящий для передачи по каналу MIMO. Затем NT модулированных сигналов от передатчиков 422a-422t передаются от NT антенн 424a-424t соответственно.

[0069] В системе 450 приемника переданные модулированные сигналы принимаются NR антеннами 452a-452r и принятый сигнал от каждой антенны 452 выдается в соответствующий приемник (RCVR) 454a-454r. Приемник 454 приводит к требуемым условиям (например, фильтрует, усиливает и преобразует с понижением частоты) соответствующий принятый сигнал, переводит приведенный к требуемым условиям сигнал в цифровую форму, чтобы обеспечить выборки, и дополнительно обрабатывает выборки для выдачи соответствующего "принятого" символьного потока.

[0070] Затем процессор 460 RX приема данных принимает и обрабатывает NR принятых символьных потоков от NR приемников 454 на основании конкретного способа обработки приемника для выдачи NT "обнаруженных" символьных потоков. Затем процессор 460 RX приема данных демодулирует, выполняет обратное чередование и декодирует каждый обнаруженный символьный поток для восстановления данных трафика для потока данных. Обработка процессором 460 RX приема данных комплементарной к той, которая выполняется процессором 420 MIMO TX передачи данных и процессором 414 TX передачи данных в системе 410 передатчика.

[0071] Процессор 470, который может быть подсоединен к памяти 472, периодически определяет, какую использовать матрицу предварительного кодирования. Сообщение обратной линии связи может содержать различные типы информации относительно линии связи и/или принятого потока данных. Затем сообщение обратной линии связи обрабатывается процессором 438 TX передачи данных, который также принимает данные трафика для ряда потоков данных от источника 436 данных, модулируется модулятором 480, приводится к требуемым условиям передатчиками 454a-454r и передается назад в систему 410 передатчика.

[0072] В системе 410 передатчика модулированные сигналы от системы 450 приемника принимаются антеннами 424, приводятся к требуемым условиям приемниками 422, демодулируются демодулятором 440 и обрабатываются процессором 442 RX приема данных, чтобы извлечь сообщение обратной линии связи, переданное системой 450 приемника. Процессор 430 затем определяет, какую использовать матрицу предварительного кодирования, чтобы определить веса диаграммы направленности, затем обрабатывает извлеченное сообщение.

[0073] ФИГ. 5A является блок-схемой, иллюстрирующей примерную последовательность передачи сообщения между устройством 520 источника и устройством 560 получателя как часть сеанса согласования возможностей. Согласование возможностей может иметь место как часть большего процесса установления сеанса связи между устройством 520 источника и устройством 560 получателя. Этот сеанс может, например, быть установлен посредством Wi-Fi Direct или TDLS в качестве лежащего в основе стандарта соединения. После установления сеанса Wi-Fi Direct или TDLS устройство 560 получателя может инициировать соединение TCP с устройством 520 источника. Как часть установления соединения TCP может быть установлен порт управления, управляющий протоколом потоковой передачи в реальном времени (RTSP), чтобы управлять сеансом связи между устройством 520 источника и устройством 560 получателя.

[0074] Устройство 520 источника может в целом работать так же, как описано выше для устройства 120 источника согласно ФИГ. 1A, и устройство 560 получателя может в целом работать так же, как описано выше для устройства 160 получателя согласно ФИГ. 1A. После того как устройство 520 источника и устройство 560 получателя установят возможность соединения, устройство 520 источника и устройство 560 получателя могут определить набор параметров, которые должны быть использованы для их последующего сеанса связи как часть обмена по согласованию возможностей.

[0075] Устройство 520 источника и устройство 560 получателя могут согласовать возможности через последовательность сообщений. Сообщения, например, могут быть сообщениями протокола потоковой передачи в реальном времени (RTSP). На любом этапе согласований получатель сообщения запроса RTSP может ответить посредством ответа RTSP, который включает в себя код состояния RTSP, отличным от RTSP OK, когда обмен сообщениями может быть повторен с другим набором параметров, или может быть закончен сеанс согласования возможностей.

[0076] Устройство 520 источника может послать первое сообщение (сообщение запроса ОПЦИЙ RTSP (RTSP OPTIONS)) на устройство 560 получателя, чтобы определить набор способов RTSP, которые поддерживает устройство 560 получателя. После приема первого сообщения от устройства 520 источника устройство 560 получателя может ответить вторым сообщением (сообщением ответа RTSP OPTIONS), которое перечисляет способы RTSP, поддерживаемые устройством 560 получателя. Второе сообщение может также включать в себя код состояния RTSP OK.

[0077] После посылки второго сообщения на устройство 520 источника устройство 560 получателя может послать третье сообщение (сообщение запроса RTSP OPTIONS), чтобы определить набор способов RTSP, которые поддерживает устройство 520 источника. После приема третьего сообщения от устройства 560 получателя устройство 520 источника может ответить четвертым сообщением (сообщением ответа RTSP OPTIONS), которое перечисляет способы RTSP, поддерживаемые устройством 520 источника. Четвертое сообщение может также включать в себя код состояния RTSP OK.

[0078] После посылки четвертого сообщения устройство 520 источника может послать пятое сообщение (сообщение запроса GET_PARAMETER RTSP), чтобы определить список возможностей, которые представляют интерес для устройства 520 источника. Устройство 560 получателя может ответить шестым сообщением (сообщением ответа GET_PARAMETER RTSP). Шестое сообщение может содержать код состояния RTSP. Если кодом состояния RTSP является OK, то шестое сообщение может также включать в себя параметры ответа для параметра, определенного в пятом сообщении, которые поддерживаются устройством 560 получателя. Устройство 560 получателя может игнорировать параметры в пятом сообщении, которое не поддерживает устройство 560 получателя.

[0079] На основании шестого сообщения источник 520 может определить оптимальный набор параметров, которые должны быть использованы для сеанса связи, и может послать седьмое сообщение (сообщение запроса SET_PARAMETER RTSP) на устройство 560 получателя. Седьмое сообщение может содержать набор параметров, который должен быть использован во время сеанса связи между устройством 520 источника и устройством 560 получателя. Седьмое сообщение может включать в себя wfd-presentation-ur1, который описывает универсальный идентификатор ресурса (URI), который должен быть использован в запросе на установку RTSP, чтобы установить сеанс связи. Этот wfd-presentation-ur1 определяет URI, который может использовать устройство 560 получателя для более поздних сообщений во время обмена установлением сеанса. Значения wfd-ur10 и wfd-ur11, определенные в этом параметре, могут соответствовать значениям rtp-port0 и значениям rtp-port1 в wfd-client-rtp-ports в седьмом сообщении. RTP в этом случае в целом относится к протоколу в реальном времени, который может работать поверх UDP.

[0080] После приема седьмого сообщения устройство 560 получателя может ответить восьмым сообщением с кодом состояния RTSP, указывающим, была ли успешна установка параметров, как определено в седьмом сообщении. Как упомянуто выше, роли или устройство источника и устройство получателя могут быть реверсированы или изменены в различных сеансах. Порядок сообщений, которые устанавливают сеанс связи, может в некоторых случаях определить устройство, которое работает в качестве источника, и определить устройство, которое работает в качестве получателя.

[0081] ФИГ. 5B является блок-схемой, иллюстрирующей другую примерную последовательность передачи сообщения между устройством 560 источника и устройством 520 получателя как часть сеанса согласования возможностей. Последовательность передачи сообщения согласно ФИГ. 5B предназначена, чтобы обеспечить более подробный вид последовательности передачи, описанной выше для ФИГ. 5A. На ФИГ. 5B сообщение "1b. GET_PARAMETER RESPONSE" показывает пример сообщения, которое идентифицирует список поддерживаемых категорий ввода (например, общего и HIDC) и множество списков поддерживаемых типов ввода. Каждая из поддерживаемых категорий ввода из списка поддерживаемых категорий ввода имеет ассоциированный список поддерживаемых типов (например, generic_cap_list и hidc_cap_list). На ФИГ. 5B сообщение "2a. SET_PARAMETER REQUEST" является примером второго сообщения, которое идентифицирует второй список поддерживаемых категорий ввода (например, общего и HIDC) и множество вторых списков поддерживаемых типов. Каждая из поддерживаемых категорий ввода из второго списка поддерживаемых категорий ввода имеет ассоциированный второй список поддерживаемых типов (например, generic_cap_list и hidc_cap_list). Сообщение "1b. GET_PARAMETER RESPONSE" идентифицирует категории ввода и типы ввода, поддерживаемые устройством 560 получателя. Сообщение "2a. SET_PARAMETER REQUEST" идентифицирует категории ввода и типы ввода, поддерживаемые устройством 520 источника, но это может не быть полным списком всех категорий ввода и типов ввода, поддерживаемых устройством 520 источника. Вместо этого сообщение "2a. SET_PARAMETER REQUEST" может идентифицировать только те категории ввода и типы ввода, идентифицированные в сообщении "1b. GET_PARAMETER RESPONSE", как поддерживаемые устройством 560 получателя. Таким образом, категории ввода и типы ввода, идентифицированные в сообщении "2a. SET_PARAMETER REQUST", могут составлять поднабор категорий ввода и типов ввода, идентифицированные в сообщении "1b. GET_PARAMETER RESPONSE".

[0082] ФИГ. 6 является концептуальной диаграммой, иллюстрирующей один пример пакета данных, который может быть сгенерирован устройством получателя и передан на устройство источника. Аспекты пакета 600 данных будут объяснены со ссылками на ФИГ. 1A, но рассмотренные способы могут применяться к дополнительным типам систем источника/получателя. Пакет 600 данных может включать в себя заголовок 610 пакета данных с последующими данными 650 полезных данных. Полезные данные 650 могут дополнительно включать в себя один или более заголовков полезных данных (например, заголовок 630 полезных данных). Пакет 600 данных может, например, быть передан от устройства 160 получателя на ФИГ. 1А на устройство 120 источника таким образом, чтобы пользователь устройства 160 получателя мог управлять аудио/видео данными, передаваемыми устройством 120 источника. В таком случае полезные данные 650 могут включать в себя данные пользовательского ввода, принятые в устройстве 160 получателя. Полезные данные 650 могут, например, идентифицировать одну или более пользовательских команд. Устройство 160 получателя может принять одну или более пользовательских команд и на основании принятых команд может генерировать заголовок 610 пакета данных и полезные данные 650. На основании контента заголовка 610 пакета данных пакета 600 данных устройство 120 источника может провести синтаксический анализ полезных данных 650, чтобы идентифицировать данные пользовательского ввода, принятые в устройстве 160 получателя. На основании данных пользовательского ввода, содержащихся полезных данных 650, устройство 120 источника может некоторым образом изменять аудио и видео данные, передаваемые от устройства 120 источника на устройство 160 получателя.

[0083] Используемые в настоящем раскрытии термины "проводить синтаксический анализ" и "проведение синтаксического анализа" в целом относятся к процессу анализа битового потока, чтобы извлечь данные из битового потока. После извлечения данные могут быть обработаны устройством 120 источника, например. Извлечение данных может, например, включать в себя идентификацию того, как форматируется информация в битовом потоке. Как будет описано более подробно ниже, заголовок 610 пакета данных может определить стандартизированный формат, который известен как устройству 120 источника, так и устройству 160 получателя. Полезные данные 650, однако, могут быть отформатированы одним из многих возможных способов. Посредством проведения синтаксического анализа заголовка 610 пакета данных устройство 120 источника может определить, как форматируются полезные данные 650, и, таким образом, устройство 120 источника может провести синтаксический анализ 650 данных полезных данных, чтобы извлечь из полезных данных 650 одну или более команд пользовательского ввода. Это может обеспечить гибкость относительно различных типополезных данных, которые могут поддерживаться в связи источник-получатель. Как будет описано более подробно ниже, полезные данные 650 могут также включать в себя один или более заголовков полезных данных, такие как заголовок 630 полезных данных. В таких случаях устройство 120 источника может провести синтаксический анализ заголовка 610 пакета данных, чтобы определить формат для заголовка 630 полезных данных, и затем провести синтаксический анализ заголовка 630 полезных данных, чтобы определить формат для остатка полезных данных 650.

[0084] Диаграмма 620 является концептуальным описанием того, как может быть форматирован заголовок 610 пакета данных. Числа 0-15 в ряду 615 предназначены, чтобы идентифицировать местоположения бита в заголовке 610 пакета данных, и не предназначены, чтобы фактически представлять информацию, содержащуюся в заголовке 610 пакета данных. Заголовок 610 пакета данных включает в себя поле 621 версии, флаг 622 временной отметки, зарезервированное поле 623, поле 624 категории ввода, поле 625 длины и дополнительное поле 626 временной отметки.

[0085] В примере на ФИГ. 6 поле 621 версии является 3-битовым полем, которое может указать версию конкретного протокола передачи данных, реализуемого устройством 160 получателя. Значение в поле 621 версии может информировать устройство 120 источника о том, как провести синтаксический анализ остатка заголовка 610 пакета данных, а также о том, как провести синтаксический анализ полезных данных 650. В примере на ФИГ. 6 поле 621 версии является 3-битовым полем, которое разрешает уникальный идентификатор для восьми различных версий. В других примерах большее или меньшее количество битов может быть выделено для поля 621 версии.

[0086] В примере согласно ФИГ. 6, флаг (T) 622 временной отметки является 1-битовым полем, которое указывает, есть ли поле 626 временной отметки в заголовке 610 пакета данных. Поле 626 временной отметки является 16-битовым полем, содержащим временную отметку, основанную на мультимедийных данных, которые были сгенерированы устройством 120 источника и переданы на устройство 160 получателя. Временная отметка может, например, быть последовательным значением, назначенным на кадры видео посредством устройства 120 источника до того, как будут переданы кадры на устройство 160 получателя. Флаг 622 временной отметки может, например, включать в себя "1", чтобы указать, что есть поле 626 временной отметки, и может включать в себя "0", чтобы указать, что нет поля 626 временной отметки. После проведения синтаксического анализа заголовка 610 пакета данных и определения, что есть поле 626 временной отметки, устройство 120 источника может обработать временную отметку, включенную в поле 626 временной отметки. После проведения синтаксического анализа заголовка 610 пакета данных и определения, что нет поля 626 временной отметки, устройство 120 источника может начать проводить синтаксический анализ полезных данных 650 после проведения синтаксического анализа поля 625 длины, так как нет никакого поля временной отметки в заголовке 610 пакета данных.

[0087] Если есть, поле 626 временной отметки может включать в себя временную отметку для идентификации кадра видео данных, которые были отображены на беспроводном устройстве 160 получателя, когда были получены пользовательские данные ввода полезных данных 650. Временная отметка, например, может быть добавлена к кадру видео посредством устройства 120 источника до того, как устройство 120 источника передаст кадр видео на устройство 160 получателя. Соответственно, устройство 120 источника может генерировать кадр видео и включить в видео данные кадра в качестве метаданных, например, временную отметку. Устройство 120 источника может передать видео кадр с временной отметкой на устройство 160 получателя, и устройство 160 получателя может отображать кадр видео. В то время как кадр видео отображается устройством 160 получателя, устройство 160 получателя может принять пользовательскую команду от пользователя. Когда устройство 160 получателя генерирует пакет данных для передачи пользовательской команды на устройство 120 источника, устройство 160 получателя может включать в поле 626 временной отметки временную отметку кадра, который был отображен устройством 160 получателя, когда была принята пользовательская команда.

[0088] После приема пакета 600 данных с полем 626 временной отметки, которое есть в заголовке, беспроводное устройство 120 источника может идентифицировать кадр видео, отображаемый в устройстве 160 получателя, в то время как были получены пользовательские данные ввода полезных данных 650, и обработать пользовательские данные ввода на основании контента кадра, идентифицированного временной отметкой. Например, если пользовательские данные ввода являются командой касания, примененной к сенсорному дисплею, или щелчком указателя мыши, устройство 120 источника может определить контент кадра, отображаемого в то время, когда пользователь применил команду касания к дисплею или щелкнул мышью. В некоторых случаях контент кадра может быть необходим, чтобы должным образом обработать данные полезных данных. Например, пользовательский ввод на основании касания пользователя или щелчка мыши может зависеть от того, что было показано на дисплее во время касания или щелчка. Касание или щелчок могут, например, соответствовать символу или опции меню. В случаях, в которых контент дисплея изменяется, временная отметка, которая есть в поле 626 временной отметки, может быть использована устройством 120 источника, чтобы сопоставить касание или щелчок с корректным символом или опцией меню.

[0089] Устройство 120 источника может дополнительно или альтернативно сравнивать временную отметку в поле 626 временной отметки с временной отметкой, примененной к в настоящее время воспроизводимому кадру видео. Посредством сравнения временной отметки поля 626 временной отметки с текущей временной отметкой устройство 120 источника может определить время распространения сигнала «туда и обратно». Время распространения сигнала туда и обратно в целом соответствует количеству времени, которое истекает от момента, когда кадр передан устройством 120 источника, до момента, когда пользовательский ввод на основании этого кадра принят назад в устройстве 120 источника от устройства 160 получателя. Время распространения сигнала туда и обратно может обеспечить устройству 120 источника индикацию системного времени ожидания, и если время распространения сигнала туда и обратно больше, чем пороговое значение, то устройство 120 источника может игнорировать пользовательские данные ввода, содержащиеся в данных 650 полезных данных, в соответствии с предположением, что команда ввода была применена к устаревшему кадру дисплея. Когда время распространения сигнала туда и обратно меньше, чем порог, устройство 120 источника может обработать пользовательские данные ввода и приспособить аудио/видео контент, передаваемый в ответ на пользовательские данные ввода. Пороги могут быть программируемыми, и различные типы устройств (или различные комбинации источника-получателя) могут быть сконфигурированы для определения различных порогов в течение времени на передачу и подтверждение, которое является приемлемым.

[0090] В примере на ФИГ. 6 зарезервированное поле 623 является 8-битовым полем, которое не включает в себя информацию, используемую посредством источника 120 при проведении синтаксического анализа заголовка 610 пакета данных и полезных данных 650. Будущие версии конкретного протокола (как идентифицировано в поле 621 версии), однако, могут использовать зарезервированное поле 623, когда устройство 120 источника может использовать информацию в зарезервированном поле 623 для проведения синтаксического анализа заголовка 610 пакета данных и/или для проведения синтаксического анализа полезных данных 650. Зарезервированное поле 623 вместе с полем 621 версии потенциально обеспечивает возможности для расширения и добавления признаков к формату пакета данных без существенного изменения формата и признаков, которые уже используются.

[0091] В примере на ФИГ. 6 поле 624 категории ввода является 4-битовым полем для идентификации категории ввода для данных пользовательского ввода, содержащихся в полезных данных 650. Устройство 160 получателя может распределять по категориям данные пользовательского ввода, чтобы определить категорию ввода. Распределение по категориям данных пользовательского ввода может, например, быть основано на устройстве, от которого принята команда, или основано на свойствах самой команды. Значение поля 624 категории ввода, возможно, вместе с другой информацией заголовка 610 пакета данных, идентифицирует для устройства 120 источника, как форматируются полезные данные 650. На основании этого форматирования устройство 120 источника может провести синтаксический анализ полезных данных 650, чтобы определить пользовательский ввод, который был принят в устройстве 160 получателя.

[0092] Так как категория 624 ввода в примере на ФИГ. 6 составляет 4 бита, шестнадцать различных категорий ввода, возможно, могут быть идентифицированы. Одна такая категория ввода может быть форматом родового ввода, чтобы указать, что данные пользовательского ввода полезных данных 650 форматируются, используя общие информационные элементы, определенные в протоколе, выполняемом как устройством 120 источника, так и устройством 160 получателя. Формат родового ввода, который будет описан более подробно ниже, может использовать общие информационные элементы, которые учитывают пользователя устройства 160 получателя, чтобы взаимодействовать с устройством 120 источника на уровне приложения.

[0093] Другая такая категория ввода может быть форматом команды устройства интерфейса пользователя (HIDC), чтобы указать, что данные пользовательского ввода полезных данных 650 форматируются на основании типа устройства ввода, используемого для приема данных ввода. Примеры типов устройств включают в себя клавиатуру, мышь, сенсорное устройство ввода, джойстик, камеру, устройство захвата жеста (такое, как основанное на камере устройство ввода) и удаленное средство управления. Другие типы категорий ввода, которые могут быть идентифицированы в поле 624 категории ввода, включают в себя направление формата ввода для указания, что пользовательские данные в полезных данных 650 не происходили в устройстве 160 получателя, или специфичный для операционной системы формат и формат голосовой команды, чтобы указать, что полезные данные 650 включают в себя голосовую команду.

[0094] Поле 625 длины может содержать 16-битовое поле для указания длины пакета 600 данных. Длина, например, может быть указана в блоках из 8 битов. Так как проведен синтаксический анализ пакета 600 данных посредством устройства 120 источника в словах 16 битов, пакет 600 данных может быть заполнен целым числом 16 битов. На основании длины, содержащейся в поле 625 длины, устройство 120 источника может идентифицировать конец полезных данных 650 (то есть конец пакета 600 данных) и начало нового последующего пакета данных.

[0095] Различные размеры полей, обеспеченных в примере на ФИГ. 6, просто предназначены, чтобы быть пояснительными, и предполагается, что поля могут быть реализованы, используя различные количества битов, чем количество, которое показано на ФИГ. 6. Дополнительно, также рассматривается, что заголовок 610 пакета данных может включать в себя меньше, чем все поля, рассмотренные выше, или может использовать дополнительные поля, не рассмотренные выше. Действительно, способы настоящего раскрытия могут быть гибкими относительно фактического формата, используемого для различных полей данных пакетов.

[0096] После проведения синтаксического анализа заголовка 610 пакета данных, чтобы определить форматирование полезных данных 650, устройство 120 источника может провести синтаксический анализ полезных данных 650, чтобы определить команду пользовательского ввода, содержащуюся в полезных данных 650. Полезные данные 650 могут иметь свой собственный заголовок полезных данных (заголовок 630 полезных данных), указывающий содержание полезных данных 650. Таким образом, устройство 120 источника может провести синтаксический анализ заголовка 630 полезных данных на основании проведения синтаксического анализа заголовка 610 пакета данных и затем провести синтаксический анализ остатка полезных данных 650 на основании проведения синтаксического анализа заголовка 630 полезных данных.

[0097] Если, например, поле 624 категории ввода заголовка 610 пакета данных указывает, что есть общий ввод в полезных данных 650, то полезные данные 650 могут иметь формат общего ввода. Устройство 120 источника может, таким образом, провести синтаксический анализ полезных данных 650 согласно формату общего ввода. Как часть формата общего ввода полезные данные 650 могут включать в себя последовательность из одного или более событий ввода с каждым событием ввода, имеющим свой собственный заголовок события ввода. Таблица 1, представленная ниже, идентифицирует поля, которые могут быть включены в заголовок ввода.

Таблица 1
Поле Размер (октет) Значение
Родовая ID IE 1 См. Таблицу 2
Длина 2 Длина следующих полей в октетах
Описание Переменный Детали пользовательских вводов. См. Таблицы.

[0098] Поле идентификации (ID) общего события ввода (IE) идентифицирует идентификацию общего события ввода для идентификации типа ввода. Поле ID общего IE может, например, быть одним октетом в длину и может включать в себя идентификацию, выбранную из Таблицы 2, представленной ниже. Если, как в этом примере, поле ID общего IE составляет 8 битов, то 256 различных типов вводов (идентифицированных 0-255) могут быть идентифицируемыми, хотя не всем 256 идентификациям обязательно нужен ассоциированный тип ввода. Некоторые из 256 могут быть зарезервированы для будущего использования с будущими версиями независимо от протокола, реализуемого устройством 160 получателя и устройством 120 источника. В Таблице 2, например, идентификации ID 9-255 общего IE не имеют ассоциированных типов ввода, но им могут быть назначены типы ввода в будущем.

[0099] Поле длины в заголовке события ввода идентифицирует длину поля описания, в то время как поле описания включает в себя информационные элементы, которые описывают пользовательский ввод. Форматирование поля описания может зависеть от типа ввода, идентифицированного в поле ID общего IE. Таким образом, устройство 120 источника может провести синтаксический анализ содержания поля описания на основании типа ввода, идентифицированного в поле ID общего IE. На основании поля длины заголовка события ввода устройство 120 источника может определить конец одного события ввода в полезных данных 650 и начало нового события ввода. Как будет объяснено более подробно ниже, одна пользовательская команда может быть описана в полезных данных 650 как одно или более события ввода.

[00100] Таблица 2 обеспечивает пример типов ввода с соответствующим ID общего IE, который может быть использован для идентификации типа ввода.

Таблица 2
ID общего IE Тип ввода
0 Левая кнопка мыши вниз/касание вниз
1 Левая кнопка мыши вверх/касание вверх
2 Движение мышью/движение касания
3 Клавиша вниз
4 Клавиша вниз
5 Увеличение масштаба изображения
6 Вертикальная прокрутка
7 Горизонтальная прокрутка
8 Вращение
9-255 Зарезервированный

[00101] Поля описания, ассоциированные с каждым типом ввода, могут иметь различный формат. Поля описания события "Левая кнопка мыши вниз/касание вниз", события "Левая кнопка мыши вверх/касание вверх" и события "Движение мышью/движение касания" могут, например, включать в себя информационные элементы, идентифицированные в Таблице 3, представленной ниже, хотя другие форматы могут быть также использованы в других примерах.

Таблица 3
Поле Размер (октет) Примечания
Количество указателей (N) 1 Количество указателей события движения посредством множественных касаний. Когда установлено в 1, указывает событие движения посредством единственного касания
Для i=1:N{
ID указателя 1 Номер идентификации этого указателя. Значение находится в промежутке [0,1,…]
X-координата 2 X-координата для события, нормализованного относительного согласованного разрешения потока видео между устройством получателя и устройством источника
Y-координата} 2 Y-координата для события, нормализованного относительного согласованного разрешения потока видео между устройством получателя и устройством источника

[00102] Количество указателей может идентифицировать количество касаний или щелчков мыши, ассоциированных с событием ввода. Каждый указатель может иметь уникальный ID указателя. Если, например, событие множественных касаний включает в себя три касания пальцем, то событие ввода может иметь три указателя, каждый с уникальным ID указателя. Каждый указатель (то есть каждое касание пальцем) может иметь соответствующую x-координату и y-координату, соответствующую тому, где имело место касание.

[00103] Единственная пользовательская команда может быть описана как последовательность событий ввода. Например, если скольжение тремя пальцами является командой закрыть приложение, скольжение тремя пальцами может быть описано в полезных данных 650 как событие касания вниз тремя указателями, событие движения касания тремя указателями и событие касания вверх тремя указателями. Три указателя события касания вниз могут иметь одни и те же идентификаторы ID указателя, что и три указателя события движения касания и события касания вверх. Устройство 120 источника может интерпретировать комбинацию этих трех событий ввода как скольжение тремя пальцами.

[00104] Поля описания события "Клавиша вниз" или события "Клавиша вверх" могут, например, включать в себя информационные элементы, идентифицированные в Таблице 4, представленной ниже.

Таблица 4
Поле Размер (октет) Примечания
Зарезервировано 1 зарезервировано
Код клавиши 1 (ASCII) 2 Код клавиши первого события "клавиша вниз или вверх". Основной/расширенный код ASCII использует младший один байт. Старший один байт зарезервирован для будущего совместимого кода клавиши ASCII
Код клавиши 2 (ASCII) 2 Код клавиши второго события "клавиша вниз или вверх". Основной/расширенный код ASCII использует младший один байт. Старший один байт зарезервирован для будущего совместимого кода клавиши ASCII

[00105] Поле описания события увеличения масштаба изображения может, например, включать в себя информационные элементы, идентифицированные в Таблице 5, представленной ниже.

Таблица 5
Поле Размер (октет) Примечания
X 2 Опорная X-координата для операции увеличения масштаба изображения, нормализованной относительно согласованного разрешения видео потока между устройством получателя и устройством источника
Y 2 Опорная Y-координата для операции увеличения масштаба изображения, нормализованной относительно согласованного разрешения видео потока между устройством получателя и устройством источника
Целое число умножить на увеличение масштаба изображения 1 Беззнаковая целая часть количества раз на увеличение масштаба изображения
Дробное число умножить на увеличение масштаба изображения 1 Дробная часть количества раз на увеличение масштаба изображения

[00106] Поле описания события горизонтального прокручивания или события вертикального прокручивания может, например, включать в себя информационные элементы, идентифицированные в Таблице 6, представленные ниже.

Таблица 6
Поле Размер (октет) Примечание
Величина для прокрутки 2 Количество пикселей для прокрутки, нормализованной относительно согласованного разрешения видео потока между устройством получателя и устройством источника. Отрицательное число может указывать на прокрутку направо, и положительное число может указывать на прокрутку налево

[00107] Вышеупомянутые примеры показали некоторые примерные способы, которыми могут быть отформатированы полезные данные для категории общего ввода. Если поле 624 категории ввода заголовка 610 пакета данных указывает различную категорию ввода, такую как направленный пользовательский ввод, то полезные данные 650 могут иметь отличный формат ввода. С направленным пользовательским вводом устройство 160 получателя может принять данные пользовательского ввода от устройства третьего лица и направить ввод на устройство 120 источника, не интерпретируя данные пользовательского ввода. Устройство 120 источника может, таким образом, провести синтаксический анализ полезных данных 650 согласно направленному формату пользовательского ввода. Например, заголовок 630 полезных данных 650 может включать в себя поле для идентификации устройства третьего лица, от которого был получен пользовательский ввод. Поле может, например, включать в себя адрес Интернет-протокола (IP) устройства третьего лица, MAC адрес, доменное имя или некоторый другой такой идентификатор. Устройство 120 источника может провести синтаксический анализ остатка данных полезных данных на основании идентификатора устройства третьего лица.

[00108] Устройство 160 получателя может согласовать возможности с устройством третьего лица с помощью последовательности сообщений. Устройство 160 получателя может затем передать уникальный идентификатор устройства третьего лица на устройство 120 источника как часть установления сеанса связи с устройством 120 источника как часть процесса согласования возможностей. Альтернативно, устройство 160 получателя может передать информацию, описывающую устройство третьего лица, на устройство 120 источника, и на основании этой информации устройство 120 источника может определить уникальный идентификатор для устройства третьего лица. Информация, описывающая устройство третьего лица, может, например, включать в себя информацию для идентификации устройства третьего лица и/или информацию для идентификации возможностей устройства третьего лица. Независимо от того, определены ли уникальные идентификаторы посредством устройства 120 источника или устройства 160 получателя, когда устройство 160 получателя передает пакеты данных с пользовательским вводом, полученным от устройства третьего лица, устройство 160 получателя может включать уникальный идентификатор в пакет данных в заголовке полезных данных, например, таким образом, чтобы устройство 120 источника могло идентифицировать происхождение пользовательского ввода.

[00109] Если поле 624 категории ввода заголовка 610 пакета данных все еще указывает отличную категорию ввода, такую как голосовая команда, то полезные данные 650 могут иметь все еще отличный формат ввода. Для голосовой команды полезные данные 650 могут включать в себя закодированное аудио. Кодек для кодирования и декодирования аудио голосовой команды может быть согласован между устройством 120 источника и устройством 160 получателя с помощью последовательности сообщений. Для передачи голосовой команды поле 626 временной отметки может включать в себя значение времени дискретизации речевого сигнала. В таком случае флаг 622 временной отметки может быть установлен для указания, что есть временная отметка, но вместо временной отметки, которая описана выше, поле 626 временной отметки может включать в себя значение времени дискретизации речевого сигнала для закодированного аудио полезных данных 650.

[00110] В некоторых примерах голосовая команда может быть передана как общая команда, как описано выше, когда поле 624 категории ввода может быть установлено для идентификации формата общей команды, и один из зарезервированных идентификаторов общих IE может быть назначен на голосовые команды. Если голосовая команда передана как общая команда, то скорость дискретизации речевого сигнала может присутствовать в поле 626 временной отметки заголовка 610 пакета данных или может присутствовать в полезных данных 650.

[00111] Для захваченных данных голосовой команды голосовые данные могут быть инкапсулированы множественными способами. Например, данные голосовой команды могут быть инкапсулированы, используя RTP, который может обеспечить тип полезных данных, чтобы идентифицировать кодек и временную отметку, с временной отметкой, используемой для идентификации скорости дискретизации. Данные RTP могут быть инкапсулированы, используя формат общего пользовательского ввода, описанный выше, или с, или без опциональной временной отметки. Устройство 160 получателя может передать данные общего ввода, которые переносят данные голосовой команды, на устройство 120 источника, используя TPC/IP.

[00112] Как рассмотрено ранее, когда координаты включены как часть пакета данных, такого как пакет 600 данных, в полезные данные 650, например, координаты могут соответствовать координатам, масштабированным на основании согласованного разрешения, координатам окна экрана дисплея, нормализованным координатам или координатам, ассоциированным с дисплеем получателя. В некоторых случаях дополнительная информация может быть или включена в пакет данных, или передана отдельно для использования посредством устройства источника, чтобы нормализовать координаты, принятые в пакете данных.

[00113] Независимо от категории ввода для конкретного пакета данных заголовок пакета данных может быть заголовком пакета уровня приложения и пакет данных может быть передан по TCP/IP. TCP/IP может разрешить устройству 160 получателя и устройству 120 источника выполнять способы повторной передачи в случае потери пакета. Пакет данных может быть послан от устройства 160 получателя на устройство 120 источника, чтобы управлять аудио данными или видео данными устройства 120 источника или для других целей, например чтобы управлять приложением, работающим на устройстве 120 источника.

[00114] ФИГ. 7A является блок-схемой примерного способа согласования возможностей между устройством получателя и устройством источника. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в одной или более блок-схемах, описанных в настоящем описании.

[00115] Способ согласно ФИГ. 7A включает в себя устройство 160 получателя, принимающее от устройства 120 источника первое сообщение (этап 701). Сообщение может, например, содержать запрос на получение параметра. В ответ на первое сообщение устройство 160 получателя может послать второе сообщение на устройство 120 источника (этап 703). Второе сообщение может, например, содержать ответ на получение параметра, который идентифицирует первый список поддерживаемых категорий ввода и множество первых списков поддерживаемых типов, причем каждая из поддерживаемых категорий ввода из первого списка поддерживаемых категорий ввода имеет ассоциированный первый список поддерживаемых типов. Поддерживаемые категории ввода могут, например, соответствовать одним и тем же категориям, используемым для поля 624 категории ввода на ФИГ. 6. Таблица 2, представленная выше, представляет один пример поддерживаемых типов для конкретной категории ввода (общие вводы в этом примере). Устройство 160 получателя может принять от устройства 120 источника третье сообщение (этап 705). Третье сообщение может, например, содержать запрос на установление параметра, причем запрос на установление параметра идентифицирует порт для связи, второй список поддерживаемых категорий ввода и множество вторых списков поддерживаемых типов, с каждой из поддерживаемых категорий ввода из второго списка поддерживаемых категорий ввода, имеющих ассоциированный второй список поддерживаемых типов, и каждый из поддерживаемых типов из вторых списков включает в себя поднабор типов из первых списков. Устройство 160 получателя может передать на устройство 120 источника четвертое сообщение (этап 707). Четвертое сообщение может, например, содержать ответ на установление параметра, чтобы подтвердить, что типы вторых списков были разрешены. Устройство 160 получателя может принять от устройства 120 источника пятое сообщение (этап 709). Пятое сообщение может, например, содержать второй запрос на установление параметра, который указывает, что канал связи между устройством 120 источника и устройством 160 получателя был разрешен. Канал связи может, например, содержать обратный канал пользовательского ввода (UIBC). Устройство 160 получателя может передать на устройство 120 источника шестое сообщение (этап 711). Шестое сообщение может, например, содержать второй ответ на установление параметра, который подтверждает прием второго запроса на установление параметра посредством устройства 160 получателя.

[00116] ФИГ. 7B является блок-схемой примерного способа согласования возможностей между устройством получателя и устройством источника. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00117] Способ ФИГ. 7B включает в себя устройство 120 источника, передающее на устройство 160 получателя первое сообщение (этап 702). Первое сообщение может, например, содержать запрос на получение параметра. Устройство 120 источника может принять второе сообщение от устройства 160 получателя (этап 704). Второе сообщение может, например, содержать ответ на получение параметра, который идентифицирует первый список поддерживаемых категорий ввода и множество первых списков поддерживаемых типов, причем каждая из поддерживаемых категорий ввода из первого списка поддерживаемых категорий ввода имеет ассоциированный первый список поддерживаемых типов. Устройство 120 источника может передать на устройство 160 получателя третье сообщение (этап 706). Третье сообщение может, например, содержать запрос на установление параметра, который идентифицирует порт для связи, второй список поддерживаемых категорий ввода и множество вторых списков поддерживаемых типов, где каждая из поддерживаемых категорий ввода из второго списка поддерживаемых категорий ввода имеет ассоциированный второй список поддерживаемых типов и каждый из поддерживаемых типов из вторых списков включает в себя поднабор типов из первых списков. Устройство 120 источника может принять от устройства 160 получателя четвертое сообщение (этап 708). Четвертое сообщение может, например, содержать ответ на установление параметра, чтобы подтвердить, что типы вторых списков были разрешены. Устройство 120 источника может передать на устройство 160 получателя пятое сообщение (710). Пятое сообщение может, например, содержать второй запрос на установление параметра, который указывает, что канал связи между устройством 120 источника и устройством 160 получателя был разрешен. Канал связи может, например, содержать обратный канал пользовательского ввода (UIBC). Устройство 120 источника может принять от устройства 160 получателя шестое сообщение (этап 712). Шестое сообщение может, например, содержать второй ответ на установление параметра, который подтверждает прием второго запроса на установление параметра посредством устройства 160 получателя.

[00118] ФИГ. 8A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00119] Способ ФИГ. 8A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя, таком как беспроводное устройство 160 получателя (этап 801). Данные пользовательского ввода могут быть получены через компонент пользовательского ввода беспроводного устройства 160 получателя, такой как, например, интерфейс 376 пользовательского ввода, показанный относительно беспроводного устройства 360 получателя. Дополнительно, устройство 160 получателя может разбивать на категории данные пользовательского ввода как, например, общие, направленные или специфичные для операционной системы. Устройство 160 получателя может затем генерировать заголовок пакета данных на основании данных пользовательского ввода (этап 803). Заголовок пакета данных может быть заголовком пакета уровня приложений. Заголовок пакета данных может содержать, среди других полей, поле для идентификации категории ввода, соответствующей данным пользовательского ввода. Категория ввода может содержать, например, формат общего ввода или команду устройства интерфейса пользователя. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 805), где пакет данных содержит сгенерированный заголовок пакета данных и полезные данные. В одном примере полезные данные могут включать в себя принятые данные пользовательского ввода и могут идентифицировать одну или более пользовательских команд. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 807) на беспроводное устройство источника (например, устройство 120 источника на ФИГ. 1A или устройство 220 источника на ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 333 и беспроводной модем 334, как показано на ФИГ. 3, например. Устройство 160 получателя может передать пакет данных по TCP/IP.

[00120] ФИГ. 8B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00121] Способ ФИГ. 8B включает в себя прием пакета данных (этап 802), где пакет данных может содержать, среди всего прочего, заголовок пакета данных и полезные данные. Полезные данные могут включать в себя, например, данные пользовательского ввода. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано относительно ФИГ. 2. Устройство 120 источника может затем провести синтаксический анализ заголовка пакета данных (этап 804), включенного в пакет данных, чтобы определить категорию ввода, ассоциированную с данными пользовательского ввода, содержащимися полезными данными. Устройство 120 источника может обработать полезные данные на основании определенной категории ввода (этап 806). Пакеты данных, описанные со ссылками на ФИГ. 8А и 8B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными и приложениями в устройстве источника.

[00122] ФИГ. 9A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00123] Способ согласно ФИГ. 9A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя, таком как беспроводное устройство 160 получателя (этап 901). Данные пользовательского ввода могут быть получены через компонент пользовательского ввода беспроводного устройства 160 получателя, такой как, например, интерфейс 376 пользовательского ввода, показанный со ссылками на ФИГ. 3. Устройство 160 получателя может затем генерировать полезные данные (этап 903), где полезные данные могут описать данные пользовательского ввода. В одном примере полезные данные могут включать в себя принятые данные пользовательского ввода и могут идентифицировать одну или более пользовательских команд. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 905), где пакет данных содержит заголовок пакета данных и сгенерированные полезные данные. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 907) на беспроводное устройство источника (например, устройство 120 источника на ФИГ. 1A или устройство 220 источника на ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, такие как транспортный блок 333 и беспроводной модем 334, например. Пакет данных может быть передан на беспроводное устройство источника по TCP/IP.

[00124] ФИГ. 9В является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00125] Способ ФИГ. 9B включает в себя прием пакета данных от устройства 360 получателя (этап 902), где пакет данных может содержать, среди прочего, заголовок пакета данных и полезные данные. В одном примере полезные данные могут содержать, например, данные, описывающие детали пользовательского ввода, например значение типа ввода. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано со ссылками на ФИГ. 2. Устройство 120 источника может затем провести синтаксический анализ пакета данных (этап 904), чтобы определить значение типа ввода в поле типа ввода полезных данных. Устройство 120 источника может обработать данные, описывающие детали пользовательского ввода, на основании определенного значения типа ввода (этап 906). Пакеты данных, описанные со ссылками на ФИГ. 9А и 9B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6.

[00126] ФИГ. 10A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00127] Способ ФИГ. 10A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя, таком как беспроводное устройство 160 получателя (этап 1001). Данные пользовательского ввода могут быть получены через компонент пользовательского ввода беспроводного устройства 160 получателя, такой как, например, интерфейс 376 пользовательского ввода, как показано со ссылками на ФИГ. 3. Устройство 160 получателя может затем генерировать заголовок пакета данных на основании пользовательского ввода (этап 1003). Заголовок пакета данных может содержать, среди других полей, флаг временной отметки (например, 1-битовое поле), чтобы указать, есть ли поле временной отметки в заголовке пакета данных. Флаг временной отметки может, например, включать в себя "1", чтобы указать, что есть поле временной отметки, и может включать в себя "0", чтобы указать, что нет поля временной отметки. Поле временной отметки может быть, например, 16-битовым полем, содержащим временную отметку, сгенерированную устройством 120 источника и добавленную к видео данным до передачи. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 1005), где пакет данных содержит сгенерированный заголовок пакета данных и полезные данные. В одном примере полезные данные могут включать в себя принятые данные пользовательского ввода и могут идентифицировать одну или более пользовательских команд. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 1007) на беспроводное устройство источника (например, устройство 120 источника согласно ФИГ. 1A или устройство 220 источника согласно ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 333 и беспроводной модем 334, например, как показано относительно ФИГ. 3. Пакет данных может быть передан на беспроводное устройство источника по TCP/IP.

[00128] ФИГ. 10B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00129] Способ ФИГ. 10B включает в себя прием пакета данных от беспроводного устройства 160 получателя (этап 1002), где пакет данных может содержать, среди всего прочего, заголовок пакета данных и полезные данные. Полезные данные могут включать в себя, например, данные пользовательского ввода. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано относительно ФИГ. 2. Устройство 120 источника может затем провести синтаксический анализ заголовка пакета данных (этап 1004), включенный в пакет данных. Устройство 120 источника может определить, есть ли поле временной отметки в заголовке пакета данных (этап 1006). В одном примере устройство 120 источника может сделать определение на основании значения флага временной отметки, включенного в заголовок пакета данных. Если заголовок пакета данных включает в себя поле временной отметки, устройство 120 источника может обработать полезные данные на основании временной отметки, которая находится в поле временной отметки (этап 1008). Пакеты данных, описанные со ссылками на ФИГ. 10А и 10B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными в устройстве источника.

[00130] ФИГ. 11A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00131] Способ согласно ФИГ. 11A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя, таком как беспроводное устройство 160 получателя (этап 1101). Данные пользовательского ввода могут быть получены через компонент пользовательского ввода беспроводного устройства 160 получателя, такой как, например, интерфейс 376 пользовательского ввода, показанный относительно ФИГ. 3. Устройство 160 получателя может затем генерировать заголовок пакета данных на основании пользовательского ввода (этап 1103). Заголовок пакета данных может содержать, среди других полей, поле временной отметки. Поле временной отметки может содержать, например, 16-битовое поле, содержащее временную отметку, основанную на мультимедийных данных, которые были сгенерированы беспроводным устройством 120 источника и переданы на беспроводное устройство 160 получателя. Временная отметка могла быть добавлена к кадру видео данных посредством беспроводного устройства 120 источника до передачи на беспроводное устройство получателя. Поле временной отметки может, например, идентифицировать временную отметку, ассоциированную с кадром видео данных, отображаемых в беспроводном устройстве 160 получателя, в то время, когда были захвачены данные ввода данных пользователя. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 1105), где пакет данных содержит сгенерированный заголовок пакета данных и полезные данные. В одном примере полезные данные могут включать в себя принятые данные пользовательского ввода и могут идентифицировать одну или более пользовательских команд. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 1107) на беспроводное устройство источника (например, устройство 120 источника согласно ФИГ. 1A или устройство 220 источника согласно ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 333 и беспроводной модем 334, например, как показано относительно ФИГ. 3. Пакет данных может быть передан на беспроводное устройство источника по TCP/IP.

[00132] ФИГ. 11B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00133] Способ согласно ФИГ. 11B включает в себя прием пакета данных от беспроводного устройства получателя, такого как беспроводное устройство 160 получателя (этап 1102), где пакет данных может содержать, среди всего прочего, заголовок пакета данных и полезные данные. Полезные данные могут включать в себя, например, данные пользовательского ввода. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано относительно ФИГ. 2. Устройство 120 источника может затем идентифицировать поле временной отметки в заголовке пакета данных (этап 1104). Устройство 120 источника может обработать полезные данные на основании временной отметки, которая находится в поле временной отметки (этап 1106). Как часть обработки данных полезных данных, на основании временной отметки устройство 120 источника может идентифицировать кадр видео данных, отображаемых в беспроводном устройстве получателя, в то время, когда были получены данные ввода данных пользователя, и интерпретировать полезные данные на основании контента кадра. Как часть обработки данных полезных данных на основании временной отметки устройство 120 источника может сравнить временную отметку с текущей временной отметкой для текущего кадра видео, передаваемого устройством 120 источника, и может выполнить команду пользовательского ввода, описанную в полезных данных, в ответ на разницу во времени между временной отметкой и текущей временной отметкой, которая меньше, чем пороговое значение, или не выполнить команду пользовательского ввода, описанную в полезных данных, в ответ на разницу во времени между временной отметкой и текущей временной отметкой, которая больше, чем пороговое значение. Пакеты данных, описанные со ссылками на ФИГ. 11А и 11B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными в устройстве источника.

[00134] ФИГ. 12A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00135] Способ согласно ФИГ. 12A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя, таком как беспроводное устройство 160 получателя (этап 1201). В одном примере данные пользовательского ввода могут быть данными голосовой команды, которые могут быть получены через компонент пользовательского ввода беспроводного устройства 160 получателя, такой как, например, модуль распознавания голосовой команды, включенный в интерфейс 376 пользовательского ввода на ФИГ. 3. Устройство 160 получателя может генерировать заголовок пакета данных на основании пользовательского ввода (этап 1203). Устройство 160 получателя может также генерировать полезные данные (этап 1205), где полезные данные могут содержать данные голосовой команды. В одном примере полезные данные могут также включать в себя принятые данные пользовательского ввода и могут идентифицировать одну или более пользовательских команд. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 1207), где пакет данных содержит сгенерированный заголовок пакета данных и полезные данные. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 1209) на беспроводное устройство источника (например, устройство 120 источника согласно ФИГ. 1A или устройство 220 источника согласно ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 333 и беспроводной модем 334, например, как показано относительно ФИГ. 3. Пакет данных может быть передан на беспроводное устройство источника по TCP/IP.

[00136] ФИГ. 12B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00137] Способ согласно ФИГ. 12B включает в себя прием пакета данных (этап 1202), где пакет данных может содержать, среди всего прочего, заголовок пакета данных и полезные данные. Полезные данные могут включать в себя, например, данные пользовательского ввода, такие как данные голосовой команды. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано относительно ФИГ. 2. Устройство 120 источника может затем провести синтаксический анализ данных полезных данных (этап 1204), включенных в пакет данных, чтобы определить, содержат ли полезные данные данные голосовой команды. Пакеты данных, описанные со ссылками на ФИГ. 12А и 12B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными в устройстве источника.

[00138] ФИГ. 13A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00139] Способ ФИГ. 13A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя, таком как беспроводное устройство 160 получателя (этап 1301). В одном примере данные пользовательского ввода могут быть жестом множественных касаний, который может быть получен через компонент пользовательского ввода беспроводного устройства 160 получателя, такой как, например, UI 167 или интерфейс 376 пользовательского ввода на ФИГ. 3. В одном примере жест множественных касаний может содержать первый ввод данных касанием и второй ввод данных касанием. Устройство 160 получателя может генерировать заголовок пакета данных на основании пользовательского ввода (этап 1303). Устройство 160 получателя может также генерировать полезные данные (этап 1305), где полезные данные могут ассоциировать данные пользовательского ввода для первого события ввода касанием с первой идентификацией указателя и данные пользовательского ввода для второго события ввода касанием со второй идентификацией указателя. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 1307), где пакет данных содержит сгенерированный заголовок пакета данных и полезные данные. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 1309) на беспроводное устройство источника (например, устройство 120 источника согласно ФИГ. 1A устройство 220 источника согласно ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 333 и беспроводной модем 334, например, как показано относительно ФИГ. 3. Пакет данных может быть передан на беспроводное устройство источника по TCP/IP.

[00140] ФИГ. 13B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00141] Способ согласно ФИГ. 13B включает в себя прием пакета данных (этап 1302), где пакет данных может содержать, среди всего прочего, заголовок пакета данных и полезные данные. Полезные данные могут включать в себя, например, данные пользовательского ввода, такие как жест множественных касаний. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано на ФИГ. 2. Устройство 120 источника может затем провести синтаксический анализ данных полезных данных (этап 1304), включенных в пакет данных, чтобы идентифицировать данные пользовательского ввода, включенные в полезные данные. В одном примере идентифицированные данные могут включать в себя данные пользовательского ввода для первого события ввода касанием с первой идентификацией указателя и данные пользовательского ввода для второго события ввода касанием со второй идентификацией указателя. Устройство 120 источника может затем интерпретировать данные пользовательского ввода для первого события ввода касанием и данные пользовательского ввода для второго события ввода касанием как жест множественных касаний (этап 1306). Пакеты данных, описанные со ссылками на ФИГ. 13А и 13B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными в устройстве источника.

[00142] ФИГ. 14A является блок-схемой примерного способа передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00143] Способ согласно ФИГ. 14A включает в себя получение данных пользовательского ввода в беспроводном устройстве 360 получателя от внешнего устройства (этап 1401). В одном примере внешнее устройство может быть устройством третьего лица, соединенным с устройством получателя. Устройство 160 получателя может генерировать заголовок пакета данных на основании пользовательского ввода (этап 1403). В одном примере заголовок пакета данных может идентифицировать данные пользовательского ввода как направленные данные пользовательского ввода. Устройство 160 получателя может также генерировать полезные данные (этап 1405), где полезные данные могут содержать данные пользовательского ввода. Устройство 160 получателя может дополнительно генерировать пакет данных (этап 1407), где пакет данных может содержать сгенерированный заголовок пакета данных и полезные данные. Устройство 160 получателя может затем передать сгенерированный пакет данных (этап 1409) на беспроводное устройство источника (например, устройство 120 источника согласно ФИГ. 1A, устройство 220 источника согласно ФИГ. 2). Устройство 160 получателя может содержать компоненты, которые разрешают передачу пакетов данных, включающих в себя транспортный блок 333 и беспроводной модем 334, например, как показано со ссылками на ФИГ. 3. Пакет данных может быть передан на беспроводное устройство источника по TCP/IP.

[00144] ФИГ. 14B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00145] Способ согласно ФИГ. 14B включает в себя прием пакета данных (этап 1402), где пакет данных может содержать, среди всего прочего, заголовок пакета данных и полезные данные. Полезные данные могут включать в себя, например, данные пользовательского ввода, такие как направленная команда пользовательского ввода, указывающая, что данные пользовательского ввода были направлены от устройства третьего лица. Устройство 120 источника может содержать компоненты связи, которые разрешают передачу пакетов данных, включающие в себя транспортный блок 233 и беспроводной модем 234, например, как показано относительно ФИГ. 2. Устройство 120 источника может затем провести синтаксический анализ заголовка пакета данных и может определить, что полезные данные содержат направленную команду пользовательского ввода (этап 1404). Устройство 120 источника может затем провести синтаксический анализ полезных данных (этап 1406), включенных в пакет данных, чтобы идентифицировать идентификацию, ассоциированную с устройством третьего лица, в соответствии с направленной командой пользовательского ввода. Устройство 120 источника может затем обработать полезные данные на основании идентифицированной идентификации устройства третьего лица (этап 1408). Пакеты данных, описанные со ссылками на ФИГ. 14А и 14B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными в устройстве источника.

[00146] ФИГ. 15A является блок-схемой примерного способа передачи пользовательских данных от беспроводного устройства получателя на беспроводное устройство источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 160 получателя (ФИГ. 1A) или устройством 360 получателя (ФИГ. 3). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 332) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 331) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00147] Способ согласно ФИГ. 15A включает в себя получение данных пользовательского ввода в беспроводном устройстве получателя (этап 1501). Данные пользовательского ввода могут иметь ассоциированные данные координат. Ассоциированные данные координат могут, например, соответствовать местоположению события щелчка мыши или местоположению события касания. Устройство 160 получателя может затем нормализовать ассоциированные данные координат, чтобы генерировать нормализованные данные координат (этап 1503). Устройство 160 получателя может затем генерировать пакет данных, который включает в себя нормализованные данные координат (этап 1505). Нормализация данных координат может включать в себя масштабирование ассоциированных данных координат на основании отношения разрешения окна экрана дисплея и разрешения дисплея источника, такого как дисплей 22 устройства 120 источника. Разрешение окна экрана дисплея может быть определено устройством 160 получателя, и разрешение дисплея устройства источника может быть принято от устройства 120 источника. Устройство 160 получателя может затем передать пакет данных с нормализованными координатами на беспроводное устройство 120 источника (этап 1507). Как часть способа согласно ФИГ. 15A устройство 160 получателя может также определить, находятся ли ассоциированные данные координат в пределах окна экрана дисплея, для контента, принятого от беспроводного устройства источника, и, например, обработать пользовательский ввод локально, если ассоциированные данные координат находятся вне окна экрана дисплея, или иначе нормализовать координаты, как описано, если ввод находится в пределах окна экрана дисплея.

[00148] ФИГ. 15B является блок-схемой примерного способа приема данных пользовательского ввода от беспроводного устройства получателя в беспроводном устройстве источника в соответствии с настоящим раскрытием. Иллюстрированный примерный способ может быть выполнен устройством 120 источника (ФИГ. 1A) или устройством 220 источника (ФИГ. 2). В некоторых примерах считываемый компьютером запоминающий носитель (например, память 232) может хранить команды, модули или алгоритмы, которые при выполнении вынуждают один или более процессоров (например, процессор 231) выполнять один или несколько иллюстрированных этапов в блок-схеме.

[00149] Способ согласно ФИГ. 15B включает в себя прием пакета данных в беспроводном устройстве источника, где пакет данных содержит данные пользовательского ввода с ассоциированными данными координат (этап 1502). Ассоциированные данные координат могут, например, соответствовать местоположению события щелчка мыши или местоположению события касания в устройстве получателя. Устройство 120 источника может затем нормализовать ассоциированные данные координат, чтобы генерировать нормализованные данные координат (этап 1504). Устройство 120 источника может нормализовать данные координат посредством масштабирования ассоциированных данных координат на основании отношения разрешения окна экрана дисплея и разрешения дисплея источника. Устройство 120 источника может определить разрешение дисплея устройства источника и может принять разрешение окна экрана дисплея от беспроводного устройства получателя. Устройство источника может затем обработать пакет данных на основании нормализованных данных координат (этап 1506). Пакеты данных, описанные со ссылками на ФИГ. 15А и 15B, в целом могут принимать форму пакетов данных, описанных со ссылками на ФИГ. 6, и могут быть использованы для управления аудио/видео данными в устройстве источника.

[00150] Для простоты объяснения аспекты настоящего раскрытия были описаны отдельно со ссылками на ФИГ. 7-15. Однако рассматривается, что эти различные аспекты могут быть объединены и использованы вместе друг с другом, а не просто отдельно. В целом, функциональные возможности и/или модули, описанные в настоящем описании, могут быть реализованы в любом одном или в обоих из: беспроводном устройстве источника и беспроводном устройстве получателя. Таким образом, возможности пользовательского интерфейса, описанные в текущем примере, могут быть использованы попеременно между беспроводным устройством источника и беспроводным устройством получателя.

[00151] Способы настоящего раскрытия могут быть реализованы в большом разнообразии устройств или приборов, включающих в себя беспроводную телефонную трубку и интегральную схему (IC) или набор схем IC (то есть набор микросхем). Любые компоненты, модули или блоки, которые были описаны, обеспечены, чтобы подчеркнуть функциональные аспекты, и не обязательно требуется реализация посредством различных блоков аппаратного обеспечения.

[00152] Соответственно, способы, описанные в настоящем описании, могут быть реализованы в аппаратном обеспечении, программном обеспечении, программно-аппаратном обеспечении или любой их комбинации. Если реализовано в аппаратном обеспечении, любые признаки, описанные как модули, блоки или компоненты, могут быть реализованы вместе в интегрированном логическом устройстве или отдельно как дискретные, но взаимодействующие логические устройства. Если реализовано в программном обеспечении, способы могут реализованы, по меньшей мере частично, посредством считываемого компьютером носителя, содержащего команды, которые при выполнении в процессоре выполняют один или несколько способов, описанных выше. Считываемый компьютером носитель может содержать материальный и невременный считываемый компьютером запоминающий носитель и может быть частью компьютерного программного продукта, который может включать в себя упаковочные материалы. Считываемый компьютером запоминающий носитель может содержать оперативное запоминающее устройство (RAM), такое как синхронное динамическое оперативное запоминающее устройство (SDRAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, магнитные или оптические запоминающие носители данных и т.п. Способы дополнительно или альтернативно могут быть реализованы, по меньшей мере частично, посредством считываемого компьютером коммуникационного носителя, который переносит или передает код в форме команд или структур данных и который может быть доступен, считан и/или выполнен компьютером.

[00153] Код может быть выполнен одним или более процессорами, такими как один или более цифровых сигнальных процессоров (процессоров DSP), микропроцессорами общего назначения, специализированными интегральными схемами (схемами ASIC), программируемыми пользователями вентильными матрицами (матрицами FPGA) или другими эквивалентными интегрированными или дискретными логическими схемами. Соответственно, термин "процессор", который используется в настоящем описании, может относиться к любой предшествующей структуре или любой другой структуре, подходящей для реализации способов, описанных в настоящем описании. В дополнение, в некоторых аспектах функциональные возможности, описанные в настоящем описании, могут быть обеспечены в выделенных модулях программного обеспечения или модулях аппаратного обеспечения, сконфигурированных для кодирования и декодирования или включенных в объединенный кодек видео. Кроме того, способы могут быть полностью реализованы в одной или более схемах или логических элементах.

[00154] Были описаны различные аспекты настоящего раскрытия. Эти и другие аспекты находятся в рамках следующей формулы изобретения.

1. Способ передачи пользовательских данных от беспроводного устройства получателя на беспроводное устройство источника, причем способ содержит:
прием от беспроводного устройства источника индикации разрешения дисплея беспроводного устройства источника,
получение данных пользовательского ввода в беспроводном устройстве получателя, причем данные пользовательского ввода имеют ассоциированные данные координат;
нормализацию в беспроводном устройстве получателя ассоциированных данных координат на основании разрешения дисплея беспроводного устройства получателя и разрешения дисплея беспроводного устройства источника для генерирования нормализованных данных координат;
генерирование пакета данных, содержащего заголовок пакета данных и полезные данные, причем упомянутый заголовок пакета данных включает в себя поле категории ввода, указывающее, что полезные данные содержат общие информационные элементы и при этом полезные данные включают в себя один или более информационных элементов, содержащих упомянутые нормализованные данные координат; и
передачу пакета данных на беспроводное устройство источника.

2. Способ по п. 1, дополнительно содержащий:
определение, находятся ли ассоциированные данные координат в пределах окна экрана дисплея, для контента, принятого от беспроводного устройства источника.

3. Способ по п. 1, дополнительно содержащий:
определение разрешения окна экрана дисплея для контента, принятого от беспроводного устройства источника.

4. Способ по п. 3, в котором этап нормализации данных координат содержит масштабирование ассоциированных данных координат на основании отношения разрешения окна экрана дисплея и разрешения дисплея источника.

5. Способ по п. 1, в котором ассоциированные данные координат соответствуют местоположению события щелчка мыши.

6. Способ по п. 1, в котором ассоциированные данные координат соответствуют местоположению события касания.

7. Беспроводное устройство получателя для передачи пользовательских данных на беспроводное устройство источника, причем беспроводное устройство получателя содержит:
память, хранящую команды;
один или более процессоров, сконфигурированных для выполнения команд, причем при выполнении команд один или более процессоров вызывают:
прием от беспроводного устройства источника индикации разрешения дисплея беспроводного устройства источника,
получение данных пользовательского ввода в беспроводном устройстве получателя, причем данные пользовательского ввода имеют ассоциированные данные координат;
нормализацию ассоциированных данных координат на основании разрешения дисплея беспроводного устройства получателя и разрешения дисплея беспроводного устройства источника для генерирования нормализованных данных координат; и
генерирование пакета данных, содержащего заголовок пакета данных и полезные данные, причем упомянутый заголовок пакета данных включает в себя поле категории ввода, указывающее, что полезные данные содержат общие информационные элементы и при этом полезные данные включают в себя один или более информационных элементов, содержащих упомянутые нормализованные данные координат;
транспортный блок для передачи пакета данных на беспроводное устройство источника.

8. Беспроводное устройство получателя по п. 7, в котором при выполнении команд один или более процессоров дополнительно вызывают:
определение, находятся ли ассоциированные данные координат в пределах окна экрана дисплея, для контента, принятого от беспроводного устройства источника.

9. Беспроводное устройство получателя по п. 7, в котором при выполнении команд один или более процессоров дополнительно вызывают:
определение разрешения окна экрана дисплея для контента, принятого от беспроводного устройства источника.

10. Беспроводное устройство получателя по п. 9, в котором этап нормализации данных координат содержит масштабирование ассоциированных данных координат на основании отношения разрешения окна экрана дисплея и разрешения дисплея источника.

11. Беспроводное устройство получателя по п. 7, в котором ассоциированные данные координат соответствуют местоположению события щелчка мыши.

12. Беспроводное устройство получателя по п. 7, в котором ассоциированные данные координат соответствуют местоположению события касания.

13. Считываемый компьютером запоминающий носитель, хранящий команды, которые при выполнении одним или более процессорами вынуждают один или более процессоров выполнять способ передачи пользовательских данных от беспроводного устройства получателя на беспроводное устройство источника, причем способ содержит:
прием от беспроводного устройства источника индикации разрешения дисплея беспроводного устройства источника,
получение данных пользовательского ввода в беспроводном устройстве получателя, причем данные пользовательского ввода имеют ассоциированные данные координат;
нормализацию в беспроводном устройстве получателя ассоциированных данных координат на основании разрешения дисплея беспроводного устройства получателя и разрешения дисплея беспроводного устройства источника для генерирования нормализованных данных координат;
генерирование пакета данных, содержащего заголовок пакета данных и полезные данные, причем упомянутый заголовок пакета данных включает в себя поле категории ввода, указывающее, что полезные данные содержат общие информационные элементы и при этом полезные данные включают в себя один или более информационных элементов, содержащих упомянутые нормализованные данные координат;
передачу пакета данных на беспроводное устройство источника.

14. Считываемый компьютером запоминающий носитель по п. 13, дополнительно хранящий инструкции, которые при выполнении одним или более процессорами вынуждают эти один или более процессоров определять, находятся ли ассоциированные данные координат внутри окна экрана дисплея, для контента, принятого от беспроводного устройства источника.

15. Считываемый компьютером запоминающий носитель по п. 13, дополнительно хранящий инструкции, которые при выполнении одним или более процессорами вынуждают эти один или более процессоров определять разрешение окна экрана дисплея, для контента, принятого от беспроводного устройства источника.

16. Считываемый компьютером запоминающий носитель по п. 13, в котором для нормализации данных координат один или более процессоров масштабируют ассоциированные данные координат на основании отношения разрешения окна экрана дисплея и разрешения дисплея источника.

17. Считываемый компьютером запоминающий носитель по п. 13, в котором ассоциированные данные координат соответствуют местоположению события щелчка мыши.

18. Считываемый компьютером запоминающий носитель по п. 13, в котором ассоциированные данные координат соответствуют местоположению события касания.

19. Беспроводное устройство получателя для передачи пользовательских данных на беспроводное устройство источника, причем беспроводное устройство получателя содержит:
средство для приема от беспроводного устройства источника индикации разрешения дисплея беспроводного устройства источника,
средство для получения данных пользовательского ввода в беспроводном устройстве получателя, причем данные пользовательского ввода имеют ассоциированные данные координат;
средство для нормализации ассоциированных данных координат на основании разрешения дисплея беспроводного устройства получателя и разрешения дисплея беспроводного устройства источника для генерирования нормализованных данных координат;
средство для генерирования пакета данных, содержащего заголовок пакета данных и полезные данные, причем упомянутый заголовок пакета данных включает в себя поле категории ввода, указывающее, что полезные данные содержат общие информационные элементы и при этом полезные данные включают в себя один или более информационных элементов, содержащих упомянутые нормализованные данные координат;
средство для передачи пакета данных на беспроводное устройство источника.

20. Беспроводное устройство получателя по п. 19, дополнительно содержащее средство для определения, находятся ли ассоциированные данные координат внутри окна экрана дисплея, для контента, принятого от беспроводного устройства источника.

21. Беспроводное устройство получателя по п. 19, дополнительно содержащее средство для определения разрешения окна экрана дисплея, для контента, принятого от беспроводного устройства источника.

22. Беспроводное устройство получателя по п. 21, в котором средство для нормализации данных координат содержит средство для масштабирования ассоциированных данных координат на основании отношения разрешения окна экрана дисплея и разрешения дисплея источника.

23. Беспроводное устройство получателя по п. 19, в котором ассоциированные данные координат соответствуют местоположению события щелчка мыши.

24. Беспроводное устройство получателя по п. 19, в котором ассоциированные данные координат соответствуют местоположению события касания.



 

Похожие патенты:

Изобретение относится к средствам кодирования и декодирования видео посредством использования слияния блоков. Технический результат заключается в обеспечении возможности кодирования и декодирования видео посредством использования слияния блоков.

Изобретение относится к технологиям кодирования и декодирования видеоинформации. Техническим результатом является снижение ухудшения качества изображения за счет использования временного предсказания вектора движения, когда опорная временная информация движения недоступна.

Изобретение относится к вычислительной технике. Технический результат заключается в получении индикатора последнего значимого коэффициента (LSC) на основе сканирования для использования при декодировании карты значимости для блока коэффициентов преобразования.

Изобретение относится к области контекстно-адаптивного энтропийного кодирования видеоданных. Технический результат - обеспечение инициализации контекстов процесса кодирования посредством определения значений индексов параметров инициализации.

Изобретение относится к устройству формирования и воспроизведения данных движущегося изображения. Техническим результатом является обеспечение обработки изображений, позволяющей воспроизводить на экране движущиеся изображения высокой четкости с высоким быстродействием изменений при вводе пользователем операции по воспроизведению области изображения, ограничивая объем обрабатываемых данных.

Изобретение относится к технологиям кодирования и декодирования видеоданных. Техническим результатом является повышение эффективности внутрикадрового предсказания за счет того, что данное предсказание осуществляется с учетом вариаций значений опорного пикселя прилегающих блоков.

Изобретение относится к технологиям кодирования и декодирования видеоданных. Техническим результатом является снижение требований к вычислительной сложности за счет обеспечения получения блока-кандидата на слияние посредством параллельной обработки.

Изобретение относится к системам кодирования или декодирования значений режимов предсказания. Техническим результатом является повышение эффективности кодирования или декодирования информации о режимах предсказания за счет вывода трех наиболее вероятных режимов предсказания вместо двух режимов.

Изобретение относится к средствам кодирования и декодирования видео посредством использования слияния блоков. Технический результат заключается в обеспечении возможности кодирования и декодирования видео посредством использования слияния блоков.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности кодирования заголовка блока уровня абстракции сети (NAL).

Изобретение относится к области устройств ввода информации и может быть использовано при определении положения электростатического пера в пределах емкостного датчика касания.

Изобретение относится к системе и способу перемещения курсора в ответ на перемещение указательного устройства. Техническим результатом является обеспечение улучшенной управляемости курсором на экране вследствие фиксированной связи между положением указательного устройства и положения курсора.

Изобретение относится к способам для передачи данных между беспроводным устройством источника и беспроводным устройством получателя. Техническим результатом является обеспечение возможности пользователю беспроводного устройства получателя управлять беспроводным устройством источника и управлять контентом, который передается от беспроводного устройства источника на беспроводное устройство получателя.

Изобретение относится к вычислительной системе для функционирования множества вычислительных устройств, причем вычислительная система содержит одно из вычислительных устройств и блок формирования изображения для формирования общего видеосигнала для устройства отображения.

Изобретение относится к автоматике и вычислительной технике и может быть использовано в системах отображения информации для управления ориентацией изображений подвижных объектов на экране растрового монитора.

Изобретение относится к устройствам ввода с экраном ввода касанием, имитирующим устройства ввода с тремя состояниями. Техническим результатом является расширение возможностей использования мобильного устройства людям со слабым зрением за счет обеспечения средства проверки воздействия касанием экрана до установления контакта с ним.

Изобретение относится к указательному устройству “мышь”. Техническим результатом является обеспечение надежного функционирования устройства на зеркальных, прозрачных, гладких монохромных поверхностях.

Изобретение относится к устройствам манипуляции виртуальными объектами. Технический результат заключается в обеспечении возможности взаимодействия пользователя с виртуальными объектами в виртуальной среде, используя сопоставление между физическим объектом, которым управляет пользователь, и соответствующим указателем в виртуальной среде.

Изобретение относится к манипуляторам для управления человека компьютером или другими электронными устройствами. Манипулятор включает корпус, располагаемый в полости рта, джойстик, размещенный одним концом на корпусе с возможностью перемещения языком другого его конца, датчики положения джойстика относительно корпуса, блок обработки сигналов, источник питания, канал связи с управляемым устройством.

Изобретение относится к устройствам ввода. Технический результат заключается в повышении скорости ввода.

Изобретение относится к указательным устройствам. Технический результат заключается в предотвращении утомляемости кисти руки. Устройство содержит корпус особой трехгранной призматической геометрической формы с оптимально выбранным углом наклона боковых граней относительно горизонтали, со специальным, в частности пыле- и/или грязеотталкивающим, поверхностным покрытием, с установленными в/на нем интенсификаторами процесса самоочистки, в том числе вибраторами, и способный самоочищаться от оседающей пыли, чипсет, датчики приближения руки пользователя и/или одну или несколько видеокамер, отслеживающих положение пользовательской руки, в/на его корпусе устанавливаются не менее двух движителей и, как минимум, одно средство выполнения поворота, а также обеспечивающие их работоспособность приводы, которые позволяют "мыши" самостоятельно двигаться вперед, назад, влево, вправо, диагонально, поворачивать и разворачиваться на одном месте относительно опорной поверхности и/или пользователя, предоставляя тем самым "мыши" возможность без контакта с человеческой кожей двигаться за кистью руки пользователя тогда, когда он осуществляет взаимодействие с компьютером, к которому "мышь" подключена. 1 з.п. ф-лы, 1 ил.
Наверх