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

Иллюстрации

Показать все

Изобретение относится к способу передачи данных пользовательского ввода от беспроводного устройства получателя на беспроводное устройство источника. Технический результат заключается в обеспечении возможности пользователю беспроводного устройства получателя управлять беспроводным устройством источника и контентом, который передается от беспроводного устройства источника на беспроводное устройство получателя. Способ содержит: отображение беспроводным устройством (БУ) получателя видеоданных, принятых от БУ источника; получение БУ получателя, и от внешнего устройства, данных пользовательского ввода, захваченных при отображении конкретного кадра видеоданных; генерирование БУ получателя заголовка пакета данных, который включает в себя: 3-битовое поле версии, 8-битовое зарезервированное поле, 4-битовое поле категории ввода, 16-битовое поле длины и флаг временной отметки; генерирование БУ получателя полезных данных, содержащих упомянутые данные пользовательского ввода; генерирование БУ получателя пакета данных, содержащего заголовок пакета данных и полезные данные; и передачу БУ получателя этого пакета данных на БУ источника. 8 н. и 49 з.п. ф-лы, 26 ил., 6 табл.

Реферат

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

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

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

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

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

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

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

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

предварительной заявки США № 61/544,475, поданной 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 получателя имеет разрешение 1280x720, и устройство 120 источника имеет разрешение 1600x900, устройства могут, например, использовать 1280x720 в качестве своего согласованного разрешения. Согласованное разрешение может быть выбрано на основании разрешения устройства 160 получателя, хотя может также быть использовано разрешение устройства 120 источника или некоторое другое разрешение. В примере, в котором используется устройство получателя с разрешением 1280x720, устройство 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] Пользовательские ввод