ПРОГРАММИРУЕМЫЙ МУЛЬТИМЕДИЙНЫЙ КОНТРОЛЛЕР С ПРОГРАММИРУЕМЫМИ ФУНКЦИЯМИ
PROGRAMMABLE MULTIMEDIA CONTROLLER WITH PROGRAMMABLE FUNCTIONS

Настоящая заявка связана с параллельной заявкой «Система и способ реализации программируемого мультимедийного контроллера», поданной 20 декабря 2005 г. от имени того же заявителя и идентифицируемой как заявка Cesari и McKenna №104215-0003, которая тем самым включается в настоящий документ посредством ссылки.
Область техники, к которой относится изобретение
Настоящее изобретение в целом относится к областям мультимедиа и связи и более конкретно к программируемому мультимедийному контроллеру, предназначенному для домашнего и коммерческого применения, профессиональной работы с аудио или видео, вещания или студийной работы, обеспечения безопасности, автоматизации или других сфер применения, который выполнен с возможностью взаимодействия, контроля и управления широким спектром аудио- и видеоустройств, устройств связи, передачи данных и другими устройствами.
Уровень техники
Быстрый рост объема предложения потребительских электронных устройств на рынке возник в результате падения стоимости электронной аппаратуры и появлением новых носителей информации. Например, в течение всего нескольких лет технология компакт-дисков (CD) в значительной степени сместила виниловые пластинки и магнитные ленты с позиции наиболее популярных носителей музыкальных записей, но была, в свою очередь, вытеснена технологией МРЗ. Аналогичным образом бывший наиболее популярным носитель для видеозаписи, видеопленка, в значительной степени уступила место технологии цифровых универсальных дисков (digital versatile disk, DVD); одновременно цифровые фотокамеры фактически заменили пленочные фотокамеры. Появление новых технологий и носителей информации и соответствующего потребительского спроса на продукцию, основанную на новейших разработках, заставляет производителей быстро внедрять новые продукты. В результате на рынок попадает огромное количество типов и моделей различных изделий.
Одной из старейших проблем, влиянию которой подвержены многие потребители, является сложность соединения между собой различных электронных устройств, которые обычно продаются по отдельности и не являются компонентами интегрированной системы. Например, потребитель может приобрести приемник (аудиоресивер), приставку кабельного телевидения, телевизор, DVD-проигрыватель и систему объемного звука, причем эти устройства будут изготовлены различными производителями. Для многих пользователей большую проблему представляет даже соединение группы компонентов набором кабелей, не говоря уже о достаточном понимании различных режимов работы и характеристик, которые при должном использовании позволяют получить наилучшую совместную работу компонентов и наиболее качественные развлекательные функции.
Другая давняя проблема большинства, если не всех, предыдущих подходов к объединению различных компонентов состоит в том, что используется какой-либо тип центрального контроллера, который функционирует на основе программного обеспечения, написанного на машинном языке высокого уровня. Использование машинного языка высокого уровня представляет несколько трудностей. Прежде всего, вероятность того, что производитель предоставит пользователю исходный код, очень мала, что фактически не позволит пользователю настроить систему по своему желанию. Во-вторых, даже если исходный код будет доступен, подавляющее большинство пользователей не имеют соответствующих технических знаний, времени или склонности к написанию или изменению исходного кода. В-третьих, представление новых устройств производителями почти наверняка будет требовать изменения этого исходного кода для обеспечения совместимости центрального контроллера с такими устройствами.
Еще одна давняя проблема состоит в отсутствии какого-либо общепринятого промышленного стандарта интерфейсов управления для бытовых электронных устройств. Производители применяют различные протоколы связи, большинство из которых являются закрытыми, не соответствуют какому-либо стандарту и реализуются посредством чрезвычайно сложного исходного кода. Такое отсутствие стандартов заметно усложняет проблему интеграции и центрального управления большим набором различных бытовых электронных устройств, необходимого для их совместной работы и управления среднестатистическим пользователем, который не обладает большими техническими знаниями.
Раскрытие изобретения
В основном настоящее изобретение предлагает программируемый мультимедийный контроллер с программируемыми функциями. Основой мультимедийного контроллера является универсальный компьютер, который управляет специализированной встроенной компьютерной системой. Универсальному компьютеру может быть придан второй универсальный компьютер для обеспечения избыточности. Мультимедийный контроллер выполнен с возможностью взаимодействия, контроля или управления широким спектром различных аудио- и видеоустройств, устройств связи, передачи данных или других устройств.
Мультимедийный контроллер включает в себя среду программирования, предназначенную для создания функций или пользовательских представлений, которые могут включать в себя характеристики или функциональные возможности нескольких устройств, в традиционном варианте работающих как отдельные автономные устройства. Сложность таких функций может варьироваться от простых функций управления до мультимедиа-представлений, сочетающих в себе высокопроизводительное аудио- и видеооборудование с графическими возможностями универсального компьютера, Web-сервисами и различными видами связи.
Функции могут реализовываться в соответствии с различными зонами в большем физическом пространстве. Например, пользователь может задать, что определенные функции должны быть доступны в гостиной в доме, а другие функции должны быть доступны в кухне, в зависимости от компонентов, имеющихся в каждой комнате, или пользовательских предпочтений. Кроме того, функции могут также быть реализованы для отдельного пользователя согласно профилю пользователя, который задает настройки, ограничения (например, родительский контроль) и т.п.
Среда программирования включает в себя библиотеку профилей компонентов. Профили компонентов могут быть реализованы несколькими способами в зависимости от требуемых атрибутов исходных структур данных. В предпочтительном варианте осуществления профиль компонента реализован как XML-файл (Extensible Markup Language, расширяемый язык разметки), описывающий определенные атрибуты компонента, такого как DVD-проигрыватель, телевизор, усилитель или любой другой тип компонента, способного взаимодействовать с системой по настоящему изобретению. Как правило, профиль компонента описывает по меньшей мере некоторые из физических характеристик компонента (например, разъемы ввода/вывода на задней стороне компонента), конфигурацию компонента (например, все возможные типы модулей, которые могут присутствовать в слотах или отсеках модульного ресивера), набор команд, распознаваемых компонентом (например, включение, выключение, открытие лотка диска), а также функции, поддерживаемые компонентом (например, воспроизведение, пауза, остановка).
Использование XML-файлов для профилей компонентов, а также другие особенности настоящего изобретения, описываемые ниже, обеспечивает несколько преимуществ, в частности легкость создания профилей компонентов для новых компонентов, которые будут появляться на рынке в будущем. Далее, использование XML чрезвычайно упрощает процесс настройки за счет редактирования существующих профилей компонентов по сравнению с написанием или изменением исходного кода. Соответственно, настоящее изобретение включает в себя программное средство, предназначенное для предоставления соответствующих возможностей специалистам по установке или пользователям, которые хотят создавать собственные профили компонентов или изменять профили, имеющиеся в библиотеке.
Библиотека профилей компонентов может храниться на жестком диске или других носителях данных, которые являются физической частью системы или доступны системе по сети или другому каналу связи. Один или большее количество профилей компонентов или даже вся библиотека может запрашиваться или обновляться по мере необходимости путем обращения к определенному Web-сайту через Интернет и загрузки соответствующих файлов. Обновление библиотеки профилей компонентов может происходить автоматически, или по команде пользователя, или под управлением пользователя.
Использование библиотеки профилей компонентов в настоящем изобретении позволяет пользователю описывать подключение кабелей конкретной установки в интерактивном режиме по указаниям экранного руководства. В случае новой установки согласно настоящему изобретению пользователю могут выдаваться рекомендации по подключению кабелей в установке. После подключения кабелей согласно настоящему изобретению пользователь может получить информацию о том, какие функции доступны.
Среда программирования также включает в себя конфигурации зон, которые также предпочтительно реализованы как XML-файлы. Конфигурация зоны по существу представляет собой описание, в котором содержатся указания на то, какие компоненты находятся в конкретной комнате или ином месте, какие модули фактически присутствуют в составе модульного компонента, как соединены между собой эти компоненты, а также описание типа (типов) контроллеров, доступных пользователю в данном месте.
Среда программирования также включает в себя конфигурации соединений, также предпочтительно в форме XML-файлов. Конфигурация соединений по существу представляет собой файл, содержащий установочную информацию о подключении кабелей и используемый при определении того, какие функции могут поддерживаться данной установкой.
Кроме того, среда программирования включает в себя правила функций. Правило функции, предпочтительно реализованное как XML-файл, по существу определяет, какие компоненты необходимы для реализации конкретной функции и каким образом будут взаимодействовать конкретный компонент или группа компонентов для обеспечения функции.
Профили компонентов, конфигурации зон, конфигурация соединений и правила функций в среде программирования являются входными данными для компилятора конфигурации, который создает реализацию функции, также предпочтительно в форме XML-файла. Реализация функции, в свою очередь, передается в качестве входных данных в генератор рабочего процесса, который создает исполняемую форму реализации функции и графическое представление исполняемой формы. Графическое представление выгодным образом обеспечивает удобный и легко используемый формат, который может отображаться и редактироваться с помощью универсального компьютера. Путем редактирования графического представления пользователь фактически непосредственно изменяет соответствующую исполнимую форму. Таким образом, пользователь с небольшими или отсутствующими знаниями в программировании получает возможность создавать и настраивать программируемые функции по желанию.
Другим аспектом настоящего изобретения, также повышающим легкость использования и удобство программирования системы, является пользовательский интерфейс, который в предпочтительном варианте осуществления основан на функциональных возможностях DVD-проигрывателя в сочетании с широко доступным программным обеспечением для создания DVD. В данном аспекте в настоящем изобретении используются два важных обстоятельства: DVD-проигрыватель (т.е. функциональность DVD-проигрывателя, реализованная в микросхеме видеодекодера) имеет низкую стоимость, и пользователи обычно хорошо знакомы с управлением DVD-проигрывателем путем выбора пунктов из отображаемых меню. Таким образом, на основе программного обеспечения для создания DVD, имеющегося на рынке, может быть реализован недорогой пользовательский интерфейс, который при этом будет без труда понятен подавляющему большинству пользователей. С помощью такого программного обеспечения можно создавать видеоизображения, при воспроизведении которых будет появляться информация, меню или варианты выбора, с которыми пользователь взаимодействует с помощью простого пульта дистанционного управления, портативного DVD-проигрывателя, сенсорного экрана или любого из множества других устройств управления, поддерживаемых согласно настоящему изобретению. Одно такое видеоизображение может использоваться для сбора необходимой информации для создания одного или нескольких профилей пользователя, как часть конфигурации и установки системы.
Еще одним аспектом настоящего изобретения является его расширяемость. Множество мультимедийных контроллеров может быть соединено между собой с формированием большей системы, в которой любой входной аудио- или видеосигнал одного контроллера может быть переключен на любой выход этого же или другого контроллера. В такой расширенной системе различные контроллеры могут быть запрограммированы на выполнение различных функций. Например, один контроллер может быть запрограммирован на предоставление функций, относящихся к видеоизображению, в то время как соединенный с ним второй контроллер может быть запрограммирован на предоставление функций, относящихся к звуку.
В соответствии с настоящим изобретением может быть реализовано множество различных функций. Например, предположим что пользователь имеет систему по настоящему изобретению, связанную с DVD-проигрывателем, телевизором и телефонной линией. На этих компонентах может быть определена простая функция, состоящая в том, что если пользователь смотрит фильм на DVD и в это время поступает телефонный звонок, система по настоящему изобретению автоматически подает DVD-проигрывателю команду постановки на паузу и выводит идентификатор звонящего абонента на экран телевизора. Таким образом, пользователь может решить, отвечать на вызов или нет, не подходя к телефону и не управляя DVD-проигрывателем вручную. Если пользователь ответит на вызов, DVD-проигрыватель останется в режиме паузы. Если пользователь не ответит на вызов или же ответит и после того завершит соединение, то воспроизведение фильма автоматически возобновится по истечении периода, который может быть запрограммирован пользователем.
Другой пример простой функции, реализуемой согласно настоящему изобретению, предполагает применение комбинации телевизора и доступа в Интернет. Настоящее изобретение может использоваться для обращения к информации в Интернете, такой как биржевые котировки, результаты спортивных соревнований или информация о погоде, и отображения этой информации в какой-либо области видеоизображения на экране телевизора или, в альтернативном варианте, в бегущей строке в нижней части изображения, в то время как пользователь будет смотреть желаемую телевизионную программу.
Еще один пример простой функции, реализуемой согласно настоящему изобретению, предполагает применение комбинации телевизора и радиотелефона (сотового телефона). Настоящее изобретение может использоваться для определения поступления короткого текстового сообщения (SMS-сообщения) на сотовый телефон и отображения этого текстового сообщения поверх изображения, демонстрируемого на телевизоре. Таким образом, пользователь может просмотреть текстовое сообщение без выполнения каких-либо действий с сотовым телефоном.
Краткое описание чертежей
Далее приводится описание изобретения со ссылками на следующие прилагаемые чертежи:
на фиг.1 представлена блок-схема домашнего мультимедийного контроллера 100, соединенного с рядом устройств согласно примерному варианту осуществления настоящего изобретения;
на фиг.2 приведена блок-схема высокоуровневой аппаратной архитектуры системы на фиг.1;
на фиг.3 приведена блок-схема высокоуровневой программной архитектуры системы на фиг.1;
на фиг.4 приведена блок-схема, демонстрирующая основные программные компоненты, участвующие в реализации функций, предоставляемых системой на фиг.1;
на фиг.5А-5М показан профиль компонента для DVD-проигрывателя;
на фиг.6 приведена конфигурация зоны для ресивера;
на фиг.7А-7С приведена конфигурация соединений для ресивера;
на фиг.8А-8Н приведено правило функции для прослушивания радиотрансляции;
на фиг.9А-9Н представлена реализация функции для проигрывания компакт-диска в DVD-проигрывателе, соединенном с ресивером, который также соединен с динамиками системы объемного звука;
на фиг.10 приведен снимок экрана рабочего процесса в приложении Automator;
на фиг.11 приведена диаграмма структуры сообщения для интерфейса прикладного программирования (API) контроллера на фиг.1;
на фиг.12 приведена блок-схема процесса обработки сообщения, демонстрирующая, каким образом устройство под управлением Mac OS X взаимодействует с API на фиг.11;
на фиг.13 приведена блок-схема процесса обработки сообщения, демонстрирующая, каким образом пульт дистанционного управления, передающий радиочастотные команды, взаимодействует с API на фиг.11;
на фиг.14 приведена блок-схема процесса обработки сообщения, демонстрирующая, каким образом DVD-проигрыватель с выходом S/PDIF может использоваться в качестве устройства управления с API на фиг.11.
Осуществление изобретения
На фиг.1 приведена блок-схема программируемого мультимедийного контроллера 100, соединенного с рядом устройств, согласно примерному варианту осуществления настоящего изобретения. Термин "программируемый мультимедийный контроллер" следует понимать широко, как устройство, выполненное с возможностью управления различными электронными устройствами, переключения между ними данных и/или взаимодействия с ними, где указанные устройства могут представлять собой аудио- и видеоустройства, устройства телефонии, устройства обработки данных, защиты, устройства с использованием двигателей, реле и/или другие типы электронных устройств. При взаимодействии с этими устройствами программируемый мультимедийный контроллер может осуществлять интегрированное мультимедийное решение по управлению.
В примерном варианте осуществления программируемый мультимедийный контроллер 100 связан с широким спектром аудио/видеокомпонентов, такими как проигрыватель 105 компакт-дисков (CD), проигрыватель 110 цифровых универсальных дисков (DVD), аудио/видеоресивер 115, телевизор 120, персональный мультимедиа-проигрыватель 125, динамики 122, микрофон 123 и/или видеокамера 124. Программируемый мультимедийный контроллер может также быть соединен с устройствами телефонии, такими как телефонная сеть 130 и телефонные трубки 132. Телефонная сеть 130 может представлять собой телефонную сеть общего пользования (publicly switched telephone network, PSTN), цифровую сеть комплексного обслуживания (Integrated Services Digital Network, ISDN) или другую сеть связи.
Кроме того, программируемый мультимедийный контроллер может взаимодействовать с разнообразными системами 135 освещения и/или домашней автоматизации. Эти устройства могут работать по протоколу Х10, разработанному Pico Electronics, протоколу INSTEON™, разработанному SmartHome, Inc, стандарту CEBus, контролируемому Промышленным советом CEBus, или другому известному протоколу домашней автоматизации или управления. Аналогичным образом контроллер может быть связан с устройствами 137, приводимыми двигателями и/или реле, которые могут включать в себя, например, систему отопления, вентиляции и кондиционирования воздуха (heating, ventilation and air conditioning, HVAC), систему орошения, систему автоматического затенения или жалюзи, электронный дверной замок и другие типы устройств.
С мультимедийным контроллером соединена компьютерная сеть, такая как Интернет 140. Кроме того, он может быть соединен с персональным компьютером (PC) 145, системами 150 видеоигр, домашним оборудованием 165 для записи и другими устройствами. Далее, может быть предусмотрен один или большее количество пультов 170 дистанционного управления, предназначенные для управления функциями контроллера и/или управления устройствами, соединенными с контроллером. Такие пульты дистанционного управления могут быть связаны с контроллером по проводному сетевому соединению, инфракрасному каналу, радиочастотному каналу, каналу Bluetooth™, каналу ZigBee™ или другому подходящему каналу передачи данных.
В дополнение к обеспечению взаимодействия с широким кругом устройств программируемый мультимедийный контроллер может комбинировать, синтезировать и обрабатывать другими способами различные типы данных с целью реализации интегрированного мультимедийного решения для пользователя.
В целях облегчения вышеописанных соединений и обработки программируемый мультимедийный контроллер 100 может иметь модульную конструкцию. Например, в одном из вариантов осуществления программируемый мультимедийный контроллер 100 выполнен с двенадцатью отдельными модулями ввода и вывода, каждый из которых имеет набор соединительных портов. Модули ввода и вывода вставляются в разъемы или модульные отсеки программируемого мультимедийного контроллера 100. Модули соединяются с общей платой, которая обеспечивает подключение к остальной части системы. Применение модульной конструкции позволяет пользователю выбирать конкретные модули по потребностям, и система может быть адаптирована к конкретной сфере применения. Кроме того, может быть снижена стоимость начальной покупки за счет того, что пользователь сможет купить базовую конфигурацию с ограниченными возможностями и затем расширять систему путем покупки дополнительных модулей. Ниже описывается несколько примеров модулей со ссылками на фиг.4-10, 12 и 13. Следует понимать, что может быть предусмотрено множество разнообразных дополнительных модулей, и, соответственно, данное описание может относиться и к другим возможным конфигурациям. Кроме того, нужно понимать, что несколько программируемых мультимедийных контроллеров могут быть соединены между собой с образованием большей системы, фактически реализуя решение модульного типа на уровне контроллеров. Дальнейшие сведения относительно такой взаимосвязи и расширения приводятся далее со ссылками на фиг.18 и 19.
На фиг.2 приведена блок-схема высокоуровневой аппаратной архитектуры программируемого мультимедийного контроллера. Представленные различные компоненты могут размещаться на системной плате («материнской плате») контроллера или на нескольких платах, соединенных соединительной платой (не показаны). Микроконтроллер 210 управляет функционированием системы в целом. В примерном варианте осуществления микроконтроллер представляет собой 32-битный микроконтроллер модели MCF5234, поставляемый Freescale Semiconductor Inc. Микроконтроллер 210 соединен с аудиокоммутатором 215 и видеокоммутатором 220 посредством шины 218. Аудиокоммутатор 215 и видеокоммутатор 220 предпочтительно представляют собой матричные коммутаторы, обеспечивающие одновременную коммутацию множества соединений. Однако может использоваться множество других типов коммутаторов, обеспечивающих коммутацию цифровых сигналов, например, коммутаторы TDM (Time Division Multiplexing, мультиплексирование по времени). Более подробное описание этих коммутаторов приведено далее со ссылками на фиг.3 и фиг.11.
Общая плата 235 соединяет коммутаторы и другие устройства с разнообразными модулями ввода и вывода, такими как модули 600 ввода цифрового видео с разъемом HDMI, модули 1000 вывода видео с разъемом HDMI, модули 400 ввода цифрового звука и модули 900 вывода цифрового звука. Общая плата 235 также подключается к Ethernet-коммутатору 230, который выполняет коммутацию сигналов Ethernet 10 BaseT, 100 BaseT или Gigabyte Ethernet. Ethernet-коммутатор 230 соединяет Ethernet-порты 232 и подсистему 240 обработки с микроконтроллером 210. В одном из вариантов осуществления подсистема 240 обработки включает в себя несколько универсальных персональных компьютеров малого форм-фактора, которые обеспечивают функционирование с избыточностью и/или распределением нагрузки. В некоторых вариантах осуществления подсистема 240 обработки может содержать одно или большее количество устройств хранения, внешних по отношению к персональным компьютерам и предназначенных для расширения емкости устройств хранения, например, для хранения цифрового мультимедийного содержания. Более подробное описание различных вариантов осуществления подсистемы 240 обработки данных приведено далее со ссылками на фиг.14-16.
Кроме того, ряд USB-портов 242 (Universal Serial Bus, универсальная последовательная шина) подключен к USB-концентратору 243 для соединения с подсистемой 240 обработки. К USB-концентратору 243 может быть также подключен интерфейс 225 карт памяти. Этот интерфейс поддерживает один или несколько распространенных форматов карт памяти, например, карты CompactFlash™, карты Memory Stick™, карты Secure Digital™ (SD) и другие форматы. Для коммутации USB-соединений между несколькими обрабатывающими компонентами, присутствие которых возможно в системе, используется USB-коммутатор 244. Аналогичным образом используется набор портов 246 стандарта IEEE 1394 (FireWire™), подключаемых к концентратору 247 IEEE 1394 и к коммутатору 248 IEEE 1394.
2
2
2
Далее, микроконтроллер 210 соединяется с распределительной схемой 250 стандарта SPI (последовательный интерфейс периферии, Serial Peripheral Interface) и IС (Inter-lntegrated Circuit), которая реализует последовательный интерфейс связи для устройств с относительно низкой скоростью передачи данных. Контроллер 250 SPI/IC подключается к разъему общей платы 235 и таким образом передает команды управления от микроконтроллера 210 в модули и другие устройства в программируемом мультимедийном контроллере 100. Другие соединения контроллера 250 SPI/IC предназначены для таких устройств, как контроллер 251 вентилятора, температурный датчик 252 и схема 253 управления питанием, которые контролируют тепловые характеристики системы и предотвращают перегрев.
Микроконтроллер 210 также соединяется с интерфейсом 260 инфракрасной связи, интерфейсом 265 RS232 и радиочастотным интерфейсом 267, обеспечивающими связь с внешними устройствами. Такая взаимосвязь позволяет программируемому мультимедийному контроллеру 100 управлять внешними устройствами. Кроме того, интерфейсы могут принимать сигналы управления, которые управляют работой самого программируемого мультимедийного контроллера. Очевидно, что в мультимедийном контроллере 100 могут использоваться различные другие интерфейсы, в том числе WI-FI, Bluetooth™, ZigBee™ и другие проводные и беспроводные интерфейсы. Более подробное описание таких интерфейсов приведено ниже со ссылками на фиг.17.
Далее, для подключения одной или нескольких систем видеоигр, видеокамер, компьютеров, устройств караоке или других устройств предусмотрен вспомогательный аудио/видео порт 700. Для соединения с телефонной сетью общего пользования или с частной сетью, а также телефонными трубками предусмотрен телефонный интерфейс 270. Далее, предусмотрен интерфейс 275 управления устройствами, предназначенный для связи с устройствами освещения, домашней автоматизации и устройствами, приводимыми двигателями и/или реле. Как более подробно описано ниже, предусматривается порт 280 расширения, предназначенный для соединения нескольких программируемых мультимедийных контроллеров с формированием расширенной системы. Наконец, дисплей 1150 лицевой панели позволяет отображать состояние, конфигурацию и/или другую информацию для пользователя. В одном из вариантов осуществления на переднюю панель могут выводиться видеоданные, поступающие от любого входного источника, соединенного с системой, что позволяет выводить видеосодержание на дисплей для предварительного просмотра. В другом варианте осуществления дисплей 1150 лицевой панели имеет сенсорный экран, и пользователь может указывать варианты выбора путем выбора значков на экране.
На фиг.3 приведена блок-схема высокоуровневой программной архитектуры контроллера 100. Программная архитектура организована как последовательность уровней, в том числе уровень 302 управления системой, уровень 304 пользовательского интерфейса (U1, user interface), доступ 306 к API управления, уровень 308 функций, уровень 310 среды, уровень 312 управления компонентами и уровень 314 конфигурации/настройки.
Уровень 302 управления системой включает в себя функциональность системного менеджера 316, приложения 318 запуска системы, менеджера 320 избыточности, Web-сервера 322, сервера 324 сенсорного экрана/КПК, менеджера 326 удаленного доступа к системе и системные журналы 328.
Уровень 304 Ul вмещает сервер 330 Ul совместно с уровнем 308 функций. Уровень 308 функций включает в себя функциональность контроллера 332 функций, который сам, в свою очередь, включает в себя процесс 334 приложения Automator. Уровень 308 функций также включает в себя функциональность контроллера 336 дисплея Мас, приложение 338 вывода данных на экран (on-screen display, OSD), сторонние приложения 340, приложения 342 Mac и контроллер 344 аудио/видеокомпонентов. Посредством процесса 334 приложения Automator контроллер 332 функций осуществляет управление приложениями Мас, в том числе iTunes, iChat, iPhoto и iDVD, которые поддерживают интерфейс Applescript, обеспечивающий управление последовательностью приложений. Аналогичным образом посредством процесса 334 приложения Automator контроллер 332 функций осуществляет управление другими сторонними приложениями, поддерживающими AppleScript.
Уровень 310 среды включает в себя функциональные возможности ввода-вывода (I/O) Мас во всех поддерживаемых форматах (таких как DVI, Ethernet, FireWire™, USB и т.д.). Уровень 312 управления компонентами включает в себя функциональность управления аудио/видеокомпонентами 348.
Уровень 314 конфигурации/настройки включает в себя функциональность приложения 350 пользовательских конфигураций, компилятор 352 конфигураций, приложение 354 управления пользовательскими функциями, генератор 356 рабочих процессов и приложение 358 просмотра рабочих процессов/механизма поиска/настройки. Уровень 314 конфигурации/настройки также передает информацию нескольких типов на уровень 304 UI и уровень 308 функций, в том числе системную конфигурацию 360, рабочий процесс 362 приложения automator, определения 364 функций, профили 366 компонентов и настройки 368 Mac. Как подробно описано далее со ссылками на фиг.5-11, в предпочтительном варианте осуществления для представления системной конфигурации 360, рабочего процесса 362 приложения automator, определений 364 услуг и профилей 366 компонентов используются XML-файлы.
Далее рассматриваются общие функции различных уровней, представленных на фиг.3. В общем случае уровень 302 управления системой отвечает за работу системных задач и процессов высокого уровня. Менеджер 320 избыточности отвечает в целом за обеспечение избыточности, которое может с выгодой использоваться в мультимедийном контроллере 100. Например, подсистема 240 обработки может быть реализована на основе двух компьютеров Mac Mini™, как отмечено выше. Использование двух компьютеров обеспечивает возможность распределения нагрузки, а также один уровень избыточности в случае, если один из компьютеров выйдет из строя.
Для правильной работы этих двух компьютеров, как в случае нормальной работы обоих компьютеров, так и при отказе одного из них, необходима синхронизация данных, хранящихся на жестких дисках, к которым обычно обращается только один из компьютеров. Предпочтительно она реализуется с использованием приложения rsync, возможности, являющейся частью операционной системы OS X. Кроме того, один из компьютеров будет назначен "основным" компьютером на основе арбитража, который выполняется при включении мультимедийного контроллера 100. "Вспомогательный" компьютер функционирует в подчинении у основного компьютера.
Один из вариантов осуществления арбитража начинается с сообщения каждого компьютера о своем присутствии посредством службы Bonjour Name. Когда один из компьютеров обнаруживает другой компьютер, он соединяется с этим другим компьютером. Если оба компьютера являются кандидатами на роль основного компьютера, таковым становится компьютер с большим Ethernet-адресом управления доступом к среде передачи. Каждый компьютер поддерживает открытое соединение и периодически опрашивает другой компьютер. Если основной компьютер не отвечает на запросы, вспомогательный компьютер принимает роль основного компьютера на себя.
Основной компьютер отвечает за распределение потоковых ресурсов между ним и "вспомогательным" компьютером. Подключаемые и съемные носители (такие как диски FireWire или USB, фотоаппараты, устройства iPod) подключаются к основному компьютеру. Данные, собранные основным компьютером с таких устройств, могут передаваться на вспомогательный компьютер посредством общих точек монтирования или другим способом.
Доступ 306 к API управления отвечает за API, посредством которого мультимедийный контроллер 100 может управляться пользователем, который может выбрать использование устройства с Web-функциями, радиочастотного устройства дистанционного управления, сенсорного экрана, КПК или сотового телефона. Уровень 304 UI функционально отвечает за пользовательский интерфейс мультимедийного контроллера 100. Уровень 308 функций функционально отвечает за реализацию функций, что описано выше. Процесс 334 приложения Automator отвечает за прием запросов или команд от пользователей и их отображение в рабочий процесс для конкретной функции.
Уровень 310 среды функционально отвечает за ввод-вывод для Мас, а также за другие внутренние и внешние интерфейсы связи, поддерживаемые мультимедийным контроллером 100.
Уровень 312 управления компонентами функционально отвечает за управление действиями аудио- или видеокомпонентов, с которыми может взаимодействовать мультимедийный контроллер 100. Уровень 314 конфигурации/настройки функционально отвечает за предоставление пользователям возможности конфигурирования мультимедийного контроллера 100; выбора, создания или изменения функций; выбора, создания или изменения профилей компонентов.
Далее со ссылками на фиг.4 приводится более подробное описание логических связей между определенными функциональными модулями, представленными на фиг.3. Совокупность данных, хранящихся внутри системы мультимедийного контроллера 100 или полученных из внешнего источника (например, определенного Web-сайта, содержащего библиотеку профилей компонентов), обозначена ссылочным номером 402. Совокупность 402 данных включает в себя профили компонентов, типы среды и правила функций, предпочтительно в форме XML-файлов, как указано выше. Вторая совокупность данных поступает от пользователя и обозначена ссылочным номером 404. Совокупность 404 данных включает в себя конфигурацию соединений и информацию о конфигурации системы, также предпочтительно в форме XML-файлов.
Пользователь, взаимодействующий с приложением 350 пользовательских конфигураций, которое предпочтительно реализуется в виде экранного интерактивного руководства, генерирует данные, содержащиеся в совокупности 404 данных. Руководство может отображаться на дисплее 1150 лицевой панели (фиг.1) или на телевизоре или другом дисплее, соединенном с мультимедийным контроллером 100. Кроме того, при использовании микрофона и динамиков, соединенных с мультимедийным контроллером 100, и применении функций распознавания и синтеза речи, встроенных в операционную систему Mac OS X, в экранном руководстве может быть реализована поддержка для пользователей со слабым зрением. При этом вопросы пользователю, взамен экранных подсказок, могут задаваться синтезированным голосом, и пользователь может просто произносить ответы.
В альтернативном варианте приложение 350 пользовательских конфигураций может быть реализовано в виде "автономной" программы, которая может выполняться на компьютере Мас или другом устройстве, не обязательно соединенном с мультимедийным контроллером 100. Такой вариант осуществления может быть предпочтительным для специалистов по установке, которым требуется подготовить конфигурацию перед физической установкой контроллера.
Приложение 350 пользовательских конфигураций может использоваться для создания профилей пользователей, как описано выше. Профили пользователей позволяют каждому пользователю индивидуализировать свои настройки системы, стили, цвета и т.п. для отображения на дисплее, представляемого этому пользователю мультимедийным контроллером 100. Профили пользователей могут также включать в себя ограничения функций. Например, профиль пользователя для ребенка может содержать информацию, блокирующую доступ к видеопрограммам для взрослых или кабельным каналам. Профиль пользователя может иметь форму XML-файла или другого файла данных или структуры, совместимых с другими аспектами системы, требующей к ним доступ.
Пользователь, взаимодействующий с инструментом 400 профилей компонентов, будет легко выбирать профили компонентов, доступные в библиотеке мультимедийного контроллера 100, давать контроллеру команду на загрузку необходимого профиля с указанного Web-сайта или другого источника или, возможно, изменять существующий профиль или создавать полностью новый профиль, по желанию.
Инструмент 400 профилей компонентов может также включать в себя функциональность "изучения" команд, посылаемых по инфракрасному каналу или радиоканалу с помощью обычного пульта дистанционного управления. За счет этого пользователь, который создает новый профиль компонента для компонента, имеющего пульт дистанционного управления, может быстро ввести набор команд дистанционного управления в инструмент 400 профилей компонентов.
Инструмент 400 профилей компонентов может также функционировать совместно с оптическим считывателем (не показан), с помощью которого пользователь может сканировать штриховые коды производителя, расположенные на корпусе компонента или, возможно, на его упаковке. После сканирования штрихового кода инструмент 400 профилей компонентов пробует найти соответствие в библиотеке профилей компонентов или найти соответствующий профиль на заданном Web-сайте или в другом источнике.
Совокупность 402 данных может также содержать профили приложений, также предпочтительно реализованные в виде XML-файлов, предназначенные для управления приложениями сторонних производителей (такими как iTunes, iChat) в рамках реализации функции. В предпочтительном варианте осуществления профиль приложения может быть реализован по существу в виде списка действий, которые выполняются путем исполнения Applescript. Однако профили приложений, как и другие описываемые здесь конструкции, могут быть реализованы различными путями.
Совокупности 402 и 404 данных передаются в качестве входных данных в компилятор 352 конфигураций, который в ответ генерирует реализацию функции. Реализация функции, в свою очередь, передается в качестве входных данных в модуль 364 определения функций. Приложение 354 управления пользовательскими функциями дает пользователю возможность просматривать реализованные функции и изменять или удалять их. Модуль 364 определения функций передает определения функций в контроллер 332 функций и в генератор 356 рабочих процессов. Определения функций содержат спецификации того, какие зоны, функции и компоненты входят в конфигурацию системы. В ответ на определения функций контроллер 332 функций создает внутренние состояния и объекты для управления зонами, функциями и компонентами. Кроме того, контроллер 332 функций использует определения функций для содействия определению того, какие рабочие процессы приложения automator будут существовать.
Используя информацию, содержащуюся в определениях функций, генератор 356 рабочих процессов генерирует исходный набор рабочих процессов "по умолчанию" в выполняемой форме и в графическом представлении. Каждая зона и функция в определениях функций имеет рабочий процесс, реализуемый для каждого запроса, осуществляемого функцией. Рабочий процесс в выполняемой форме исполняется контроллером 332 функций (фиг.3).
Приложение 358 просмотра рабочих процессов/механизма поиска/ настройки может использоваться для отображения, проверки и изменения графических представлений рабочих процессов. Когда пользователь редактирует графическое представление, соответствующая выполняемая форма автоматически изменяется согласно правкам, вносимым пользователем. Таким образом, пользователь легко может работать с рабочими процессами в графической среде программирования и настраивать их без необходимости иметь дело со сложной логикой и деталями исходных исполняемых объектов. Кроме того, совместно с приложением 358 просмотра рабочих процессов/механизма поиска/ настройки или в качестве альтернативы ему могут использоваться функции распознавания и синтеза речи, встроенные в операционную систему Mac OS X. Таким образом может быть реализована помощь пользователям со слабым зрением.
На фиг.5А-5М представлены примеры профиля компонентов, реализованных в предпочтительном варианте осуществления в форме XML-файла. Специалисту в данной области техники будет ясно, что профили компонентов, так же как любая из других конструкций, описанных здесь, могут быть реализованы различными путями на основе известных технологий, языков и структур данных, в том числе баз данных, поддерживающих доступ с использованием стандартных языков запросов, двоичных представлений данных закрытого формата, текстовых файлов, HTML-файлов, электронных таблиц или других способов хранения данных в форме файлов. Более конкретно, на фиг.5А-5М показан профиль компонента для DVD-проигрывателя Integra модели DPS-5.5. Раздел, обозначенный как 500, указывает, что DVD-проигрыватель имеет последовательный порт передачи данных RS232, который может использоваться для управления проигрывателем. Раздел 502 указывает, что DVD-проигрыватель имеет цифровые аудиовыходы с коаксиальным и оптическим разъемом. Раздел 504 указывает, что DVD-проигрыватель имеет композитный видеовыход с разъемом BNC и коаксиальным разъемом и что имеется композитный выход и выход S-видео (левый и правый).
В разделе 506 указано несколько возможных состояний, о которых может сообщать DVD-проигрыватель: дежурный режим, воспроизведение, пауза, остановлен, неизвестно. Аналогичным образом раздел 508 указывает несколько видов носителей, о загрузке которых может сообщать DVD-проигрыватель: DVD, VCD, CD, диск с данными, неизвестный. Любое из этих возможных сообщений может быть передано в указанную функцию и использовано как событие-инициатор некоторого действия, выполняемого мультимедийным контроллером 100. Например, при получении сообщения о том, что в проигрыватель был загружен DVD-диск, контроллер 100 может включить телевизор (или другой заданный дисплей), а также систему объемного звука в предположении, что пользователь хочет просмотреть DVD-диск. В разделе 510 указаны метки ввода/вывода, физически присутствующие на корпусе DVD-проигрывателя.
Раздел 512 определяет команду, при посылке которой в порт RS232 DVD-проигрывателя происходит включение. Раздел 514, наоборот, определяет команду выключения. Раздел 516 определяет команду воспроизведения. Остальные разделы на фиг.5С-5М определяют другие команды по RS232, на которые будет отвечать данный конкретный DVD-проигрыватель.
На фиг.6 представлена конфигурация зон, имеющая форму XML-файла, для зоны с названием "Lab", где в качестве основного устройства зоны используется ресивер Integra модели DTR-10.5. Эта зона также содержит плазменный экран NEC рх-42хr3а, кабельный ресивер Motorola 62000, DVD/CD-проигрыватель Integra DPS 5.5 и динамики объемного звука Bay Audio согласно определению в разделе 606. Раздел 600 определяет физические модули ввода-вывода (а также занимаемые ими слоты), установленные в ресивере. В разделе 602 описывается формат ввода, определенный ресивером с названием "DVD". Данный конкретный ресивер Integra имеет назначаемые входы, поэтому пользователь может присвоить входу простое имя. Таким образом, необходимы разделы 602 и 604 для информирования функции конфигурации по настоящему изобретению о том, как пользователь фактически назначил входы на ресивере.
В конфигурации видно, что ресивер назначил присваиваемое имя входа "DVD" входам с названиями "Stereo IN 1" для аудиосигналов и "Component IN 2" для видеосигналов. В разделе 604 определяется формат входа, определенный ресивером с названием “Video 1." В конфигурации видно, что пользователь назначил отображение входа "Video 1" на входы с названиями "Stereo IN 2" для аудиосигналов и "Component IN 2" для видеосигналов.
На фиг.7А-7С представлен пример конфигурации соединений для ресивера Integra модели DTR-10.5. В разделе 700 указано, что аналоговый аудиовыход (разъем RCA) DVD-проигрывателя Integra соединен со стереовходом 1 (разъем RCA) на ресивере Integra. В разделе 702 указано, что аудиовыход (разъем RCA) кабельной телевизионной приставки Motorola соединен со стереовходом 2 (разъем RCA) на ресивере Integra. В разделе 704 указано, что композитный видеовыход (коаксиальный разъем) DVD-проигрывателя Integra соединен с композитным видеовходом 1 (коаксиальный разъем) на ресивере Integra. В разделе 706 указано, что видеовыход (коаксиальный разъем) кабельной телевизионной приставки Motorola соединен с композитным видеовходом 2 (коаксиальный разъем) на ресивере Integra.
В разделе 708 указано, что композитный видеовыход (коаксиальный разъем) на ресивере Integra соединен с композитным видеовходом (коаксиальный разъем) плазменного телевизора NEC. В разделе 710 указано, что набор динамиков объемного звука 7.1 соединен с разъемами "Speakers А" ресивера Integra. В разделе 712 указано, что ресивер Integra имеет порт RS232, посредством которого им можно управлять. Аналогичным образом, в разделе 714 указано, что плазменный телевизор NEC имеет порт RS232, посредством которого им можно управлять.
На фиг.8А-8Н показано правило функций для прослушивания радиопередачи, которая может обрабатываться цифровым сигнальным процессором (digital signal processor, DSP) для необходимого декодирования или наложения эффектов. В разделе 800 определяются ресурсы, необходимые для реализации этой функции: источник радиопередачи; функция аудиокоммутатора (для подключения входного аудиосигнала к устройству вывода (динамики); функция обработки для объемного звука и динамики объемного звука; или же в другом варианте источник радиопередачи; функция аудиокоммутатора; функция управления громкостью; функция усилителя; стереодинамики.
В разделе 802 указаны два общих запроса, а именно включение и выключение питания. В разделе 804 указаны запросы для управления громкостью, в том числе включение и выключение звука. В разделе 806 определяется несколько запросов, относящихся к опциям обработки для объемного звука. В разделе 808 определяется запрос управления радиоприемником, включающий в себя выбор частоты, выбор предварительных установок, отображение и сканирование.
На фиг.9А-9Н показана реализация функции для воспроизведения компакт-диска в DVD-проигрывателе, когда DVD-проигрыватель соединен с ресивером, обеспечивающим обработку объемного звука. В разделе 900 определены следующие (аудио)компоненты, необходимые для реализации этой функции: DVD-проигрыватель Integra модели DPS-5.5; ресивер Integra модели DTR-10.5 (имеющий функцию обработки объемного звука); набор динамиков объемного звука. В разделе 902 определяются все пользовательские запросы или команды, распознаваемые DVD-проигрывателем и ресивером.
На фиг.10 представлен снимок экрана, иллюстрирующий пример рабочего процесса при просмотре в приложении Automator производства Apple Computer, Inc. Приложение Automator, поставляемое в составе операционной системы Mac OS X, реализует возможности простого графического программирования. Такая среда является удобной и легкой в использовании средой для просмотра и изменения рабочих процессов, создаваемых с использованием настоящего изобретения. С другой стороны, специалистам в данной области техники должно быть понятно, что для использования в настоящем изобретении могут использоваться или адаптироваться сторонние графические среды программирования, либо такая среда может быть создана специально в целях использования для работы с мультимедийным контроллером 100.
В панелях 1000, 1002 на фиг.10 указываются отдельные действия, которые должны выполняться последовательно. Например, действие, указанное на панели 1000, состоит во включении DVD-проигрывателя Integra модели DPS-5.5. На панели 1002 указано действие включения ресивера Integra модели DTR-10.5.
На фиг.11 приведена диаграмма структуры сообщения для интерфейса программирования приложений (API) для контроллера на фиг.1. Каждое сообщение включает в себя заголовок 1100, который может быть реализован на основе любого из заголовков Ethernet, IP, TCP или UDP. За заголовком 1100 следует значащая часть 1102. Значащая часть 1102 содержит информацию, которая идентифицирует зону, функцию, событие и тип события. Значащая часть 1102 может представлять собой просто строки переменной длины, состоящие из символов ASCII, или же реализовываться с использованием любого из различных других известных типов данных или структур.
На фиг.12 приведена блок-схема процесса обработки сообщения, описывающая взаимодействие устройства под управлением Mac OS X с API на фиг.11, а также его использование при управлении работой мультимедийного контроллера 100. Устройство под управлением Mac OS X обозначено ссылочным номером 1200. В предпочтительном варианте осуществления устройство 1200 первоначально пытается автоматически обнаружить сервер (т.е. сервер 330 интерфейса (фиг.3)) посредством широковещательного поиска 1202 службы Bonjour Name, встроенной в OS X. Сервер 330 пользовательского интерфейса включает в себя службу 1204 регистрации Bonjour Name. Устройство 1200 посылает сообщение 1206 обнаружения Bonjour Name, которое принимается сервером 330 пользовательского интерфейса. Далее выполняется запрос 1208 регистрации, который обрабатывается службой 1204 регистрации Bonjour Name и подтверждается посредством сообщения 1210 подтверждения регистрации.
Далее, после регистрации устройства 1200, пользователь нажимает кнопку 1212 (например, увеличение громкости телевизора), в результате чего на сервер 330 пользовательского интерфейса посылается индикатор 1214 команды. Индикатор 1214 команды, а также запрос 1220 команды, подтверждение 1222 команды и индикатор 1226 команды в общем случае создаются в соответствии со структурой сообщения, показанной на фиг.12.
Сервер 330 пользовательского интерфейса распознает индикатор 1214 команды как команду управления или запрос и в ответ посылает сообщение команды на контроллер 332 функций (фиг.3), который реагирует согласно соответствующей реализации функции, т.е. осуществляет увеличение громкости телевизора.
В случае интерактивной команды 1218 (например, пользователь хочет просмотреть обложку альбома), когда требуются данные с сервера 330 пользовательского интерфейса, устройство 1200 посылает на сервер 330 пользовательского интерфейса запрос 1220 команды. Сервер 330 пользовательского интерфейса отвечает подтверждением 1222 команды, содержащим требуемые данные, которые возвращаются устройству 1200.
В случае неожидаемой интерактивной команды 1224 (например, пользователь вставил DVD в DVD-проигрыватель или отключил компонент), сервер 330 пользовательского интерфейса просто сообщает устройству 1200 об этом событии путем посылки индикатора 1226 команды.
На фиг.13 приведена блок-схема процесса обработки сообщения, демонстрирующая, каким образом устройство 1300, такое как пульт дистанционного управления, передающий радиочастотные команды, взаимодействует с API на фиг.11. Вначале устройство 1300 посылает "необработанную" радиочастотную команду 1302. Сервер 330 пользовательского интерфейса принимает радиочастотную команду и преобразует (1304) ее в сообщение о зоне/функции/событии/типе события, показанное на фиг.11. Затем преобразованное сообщение посылается (1306) в контроллер 332 функций, который выполняет ответное действие согласно соответствующей реализации функции.
На фиг.14 приведена блок-схема процесса обработки сообщения, демонстрирующая, каким образом DVD-проигрыватель с выходом формата Sony/Philips Digital Interconnect (S/PDIF) может использоваться в качестве устройства управления с API на фиг.11. В обычный DVD-проигрыватель (или просто микросхему видеодекодера, реализующую основные функции DVD-проигрывателя) 1400 устанавливается специальный диск DVD, который может содержать, например, интерактивное или управляемое с помощью меню видеоизображение, которое предоставляет пользователю набор меню, системную "панель управления" или подобные опции управления. Когда пользователь выбирает опции управления, DVD-проигрыватель 1400 отвечает на эти действия выводом аудиопотока, в который включается информация управления; этот процесс подробно описан в параллельной заявке, указанной ранее. Выходной аудиофайл S/PDIF преобразуется адаптером 1402 в музыкальный фрагмент 1408 WiFi S/PDIF, который передается беспроводным образом на ресивер 1404 S/PDIF, входящий в состав мультимедийного контроллера 100 (фиг.1). Ресивер 1404 преобразует полученный музыкальный фрагмент 1408 S/PDIF в команду 1410, которая передается на сервер 330 пользовательского интерфейса.
Примеры функций
Далее описываются примеры функций, которые можно осуществить с использованием настоящего изобретения. Специалисту в данной области техники будет ясно, что нижеследующее описание является только примером, и настоящее изобретение позволяет осуществлять значительно больше функций, чем в описываемых примерах, как с точки зрения типов, так и с точки зрения количества.
Функции работы с видеоизображением
Настоящее изобретение позволяет создать и использовать функцию видеоконференцсвязи, в том числе многоточечных видеоконференций. Видеосигналы и аудиосигналы для видеоконференции могут поступать из Интернета 140 (фиг.1), телефонной сети 130 общего пользования (PSTN) или из другого источника, связанного с мультимедийным контроллером 100. При необходимости видеосигналы могут передаваться по Интернету, в то время как соответствующие аудиосигналы будут проходить по телефонной сети общего пользования. Такая конфигурация позволяет обеспечить более высокое качество звука по сравнению с видеоконференцией, в которой аудиосигналы передаются по Интернету.
Другая функция, которая поддерживается настоящим изобретением, - "видеочат", в том числе многоточечный "чат". Такая функция может базироваться полностью или частично на приложениии iChat или подобных функциональных возможностях, предоставляемых сторонними поставщиками.
Еще одна функция, поддерживаемая настоящим изобретением, - видеопочта, которую можно рассматривать как электронную почту, содержанием которой является не текст или изображение, а видеоизображение.
Еще одна функция, поддерживаемая настоящим изобретением, - видео с интегрированными функциями телефонии. Такая функция позволяет выводить на экран телевизора или другой дисплей "картинку в картинке" для вывода идентификатора вызывающего абонента или другой информации, касающейся поступившего вызова. Эта функция может также включать в себя отображение текстовых сообщений или единую службу передачи сообщений через общий ящик входящей почты, куда может приходить электронная почта, видеопочта, голосовая почта, факсы и т.д.
Еще одна функция, поддерживаемая настоящим изобретением, - видео по требованию (video on demand, VoD) или видеоподкастинг в высоком или стандартном разрешении.
Еще одна функция, поддерживаемая настоящим изобретением, - обработка видеоизображения, в том числе одна или несколько из следующих функций: преобразование цветового пространства; изменяемый размер при захвате входного сигнала; изменяемое преобразование гаммы; коммутация спецэффектов; обработка движения; зонирование; диагональная компенсация; одновременная работа с несколькими входами; снижение трехмерного шума; альфа-смешивание; интеллектуальное повышение резкости; бесшовные переходы; повышающее преобразование для видеоизображения; масштабирование и изменение размеров видеоизображения; запись, воспроизведение и редактирование HD-DVD; воспроизведение DVD; функции DVR/PVR; декодирование/кодирование MPEG; перекодирование видеоизображения; декодирование объемного звука (Dolby и DTS).
В общем случае может быть создана любая известная или новая функция для работы с видеоизображением в любом из основных стандартов цифрового кодирования видео, в том числе MPEG-2, MPEG-4 AVC, DivX, JPEG, BMP и PNG для изображений.
Функции работы с сообщениями
Настоящее изобретение поддерживает функцию мгновенной передачи сообщений. Такая функция может также обеспечивать обмен короткими текстовыми сообщениями (SMS).
Функции работы со звуком
Настоящее изобретение поддерживает реализацию одной или нескольких из следующих функций: интернет-радио; радио высокого качества; радио в диапазонах FM и AM; спутниковое радио.
Другая функция, которая поддерживается настоящим изобретением, - цифровое аудиоустройство «музыкальный автомат» с возможностью создания «интеллектуальных» списков воспроизведения на основе пользовательских настроек. Такая функция может предусматривать организацию и отображение метаданных об исполнителе и названии композиции, а также автоматический поиск таких метаданных в Интернете (например, сервис Gracenote MusicID или другой подобный сервис).
Еще одна функция, поддерживаемая настоящим изобретением, - караоке, при этом могут использоваться как проводные, так и беспроводные микрофоны.
Еще одна поддерживаемая функция - распознавание/синтез речи, причем такая основная функциональность является частью операционной системы Mac OS X. Кроме того, такая функция может полностью или частично базироваться на механизме распознавания/синтеза речи стороннего производителя, совместимом с мультимедийным контроллером 100.
Игровые функции
Настоящее изобретение поддерживает функции интерактивных игр, в том числе сетевые игры и игры во всем доме.
Функции домашней автоматизации и функции, связанные с безопасностью
Настоящее изобретение поддерживает функции обеспечения безопасности, в том числе удаленное наблюдение через Интернет, интеллектуальную безопасность, управление системой сигнализации, управление освещением, управление HVAC, управление оросительной системой и использование DVR/PVR для видеозаписи в системе безопасности.
Настоящее изобретение также поддерживает функцию удаленного мониторинга и контроля здоровья пользователя, а также функции телемедицины.
Функции конфигурирования, управления и контроля
Как подробно описано выше, настоящее изобретение позволяет пользователю конфигурировать мультимедийный контроллер 100 с повышенной легкостью и удобством за счет применения экранного руководства и подобных средств. После первоначального конфигурирования и запуска системы настоящее изобретение обеспечивает функцию, в которой при подключении к мультимедийному контроллеру 100 компьютера или другого устройства, которое может содержать цифровые мультимедиаобъекты, может быть выполнено сканирование определенных папок или областей этого компьютера или устройства на наличие новых мультимедиаобъектов, ранее недоступных для контроллера. Любые новые мультимедиаобъекты могут автоматически загружаться в контроллер и сохраняться в соответствии с библиотекой или другой структурой, определенной пользователем.
Кроме того, настоящее изобретение поддерживает функцию, в которой мультимедийный контроллер 100 постоянно включен и/или постоянно осуществляет мониторинг и автоматически обнаруживает и идентифицирует новые компоненты при их соединении с контроллером. Кроме того, после идентификации нового компонента такая функция может сообщить пользователю о распознанном новом компоненте посредством информации на экране, электронной почты или другим способом и далее сообщить ему о новых функциях, которые пользователь может активизировать, используя новый компонент.
Еще одна функция, поддерживаемая настоящим изобретением, - управление телевидением в реальном времени и в записи с возможностью "перемещения по времени".
Еще одна функция, поддерживаемая настоящим изобретением, - удаленная синхронизация портативных устройств, в том числе портативных аудио- и видеопроигрывателей, карманных компьютеров, компьютеров и т.п. Кроме того, настоящее изобретение поддерживает функцию планирования загрузки и сохранения удаленного содержания на DVR/PVR.
Функции цифровой музыки
Настоящее изобретение поддерживает функцию записи звука вживую или с другого источника. Такая функция может базироваться полностью или частично на приложении GarageBand производства Apple Computer.
Далее, настоящее изобретение поддерживает функцию интеграции с сервисами продажи музыки, в том числе музыкальным магазином iTunes, Napster ToGo, Yahoo! Music и т.п.
Далее, настоящее изобретение поддерживает функцию микшерной платформы диск-жокея, включая одну или несколько из следующих функций: автоматическое микширование; синхронизация ритмов «одним щелчком»; организация циклов без переходов; автоматический счетчик ВРМ; имитация проигрывания виниловых пластинок, в том числе царапание, изменение высоты звука и проигрывание в обратном направлении; отдельный выход для наушников и предварительное прослушивание песни; запись сведенного звука.
Далее, настоящее изобретение поддерживает функцию студии электронной музыки, включая одну или несколько из следующих функций: программа; карта; фильтр; конвертация; отображение; ввод и вывод сообщений MIDI в реальном времени.
Далее, настоящее изобретение поддерживает функцию встроенной drum-машины и генератора циклических фрагментов.
Далее, настоящее изобретение поддерживает функцию генератора интерактивного экранного набора аккордов на дисплее.
Кроме того, настоящее изобретение поддерживает функцию интеграции музыкальных инструментов, в том числе одну или несколько из следующих возможностей: гитарный тюнер, хроматический и тональный; альтернативный редактор настройки; библиотека аккордов; средство работы с табулатурами; jam-машина; метроном. Такая функция может предусматривать совместное исполнение и воспроизведение музыки, полностью или частично основанное на программном обеспечении eJamming™ или другом программном обеспечении стороннего производителя.
Функции цифрового медиасервера
Настоящее изобретение поддерживает функцию цифрового медиаконцентратора с интегрированным адаптером цифровых мультимедиаобъектов. Такая функция может также обеспечивать цифровой медиасервер
, поддерживающий раздачу видео, аудио, цифровых фотографий, данных, голоса и поддерживающего основные технологии сжатия звука, в том числе МР3, AAC, Apple Lossless Compression, FLAC, Ogg Vorbis и Monkey′s Audio.
Функции распространения цифрового медиасодержания во всем доме
Настоящее изобретение поддерживает функцию, предоставляющую один или несколько вариантов следующей функциональности: аудио по всему дому, в том числе мультизональное аудиовещание по всему дому; видео по всему дому, в том числе мультизональное видеовещание по всему дому; игры по всему дому, в том числе мультизональное распространение игр по всему дому; визуализация по всему дому, позволяющая передавать различную визуализацию в различные зоны (комнаты) с независимым воспроизведением различной музыки (аудиосодержания). Кроме того, такая функция позволяет реализовать цифровой будильник во всем доме и функцию напоминания, в том числе вывод напоминаний или выполнение автоматизированных задач; интеграцию с Digital Jukebox (QuickTime/iTunes);
воспроизведение мультимедиафайлов, вещательных Web-программ и CD/DVD;
использование сигналов будильника и напоминаний на основе цифрового мультимедиа-содержания, задаваемого пользователем, в том числе интернет-радио, МР3 и списка композиций Digital Jukebox; автоматическое создание и отправку сообщений по электронной почте, в том числе напоминаний видеопочты.
Функции VOIP/телефонииЛР-УАТС
Настоящее изобретение поддерживает функции, предусматривающие передачу голоса по IP (voice over IP, VOIP), в том числе интегрированный адаптер аналоговой телефонии (analog telephony adapter, ATA), учрежденческие автоматические телефонные станции на основе IP (IР-УАТС) и систему IP-ключей. Такая функция может также обеспечивать интеллектуальное блокирование вызовов, голосовой набор номера, интеграцию с функцией "цветного" сигнала обратного вызова, сервис сопровождения/поиска абонента и управление входящими/исходящими вызовами.
Для целей обработки входящих телефонных вызовов может быть реализована функция, в которой выполняется получение идентификатора вызывающего абонента (эта возможность присутствует в телефонном интерфейсе 270 (фиг.2), который включает в себя интерфейс FXO, что описано в параллельной заявке). Функция может сообщать или отображать информацию об идентификаторе вызывающего абонента в один или несколько пользовательских интерфейсов по необходимости. Кроме того, на основе информации об идентификаторе вызывающего абонента может выполняться поиск в адресной книге пользователя с целью определения его присутствия в этой книге. Если в адресной книге найдено соответствие, мультимедийный контроллер 100 может отобразить в пользовательском интерфейсе имя вызывающего абонента, изображение или другую информацию вместо или вместе с телефонным номером. Преимущество заключается в том, что пользователю не требуется выполнять какие-либо действия, кроме обычных действий по обращению с телефонным аппаратом.
Для целей обработки исходящих телефонных вызовов может выполняться накопление набираемых цифр после того, как пользователь поднимет трубку на телефонном аппарате и начнет набирать номер (возможность обнаружения сигналов DTMF присутствует в телефонном интерфейсе 270, который включает в себя интерфейс FXS). В этом случае также выполняется поиск вызываемого номера и определение, предназначен ли вызов кому-либо из адресной книги пользователя. Если соответствие найдено, пользователю могут быть предложены конкретные варианты выполнения вызова (они могут быть предложены пользователю по телефону или показаны на видеоэкране), связанные с вызываемым абонентом, для выполнения вызова. Например, если в адресной книге указано, что вызываемый абонент имеет поддержку видеовызовов, учетную запись Skype, iChat или подобной услуги, пользователь может выбрать любой из этих вариантов для выполнения вызова. Пользователь может выбрать вариант выполнения вызова просто нажатием кнопки на телефоне, путем выбора варианта на сенсорном экране или в любом другом из множества пользовательских интерфейсов, поддерживаемых в настоящем изобретении. В данном случае пользователю также не требуется знать какие-либо специальные команды или сложные функциональные шаги, поскольку он или она просто используют телефон в обычном режиме.
Могут быть также реализованы другие функции, позволяющие пользователю обращаться с телефоном обычным способом, но с возможностью открыть или закрыть ворота, дверь гаража, включить свет и т.п.
Функции с сетевым доступом
Настоящее изобретение поддерживает функцию предоставления сервиса личного ассистента или консьержа для получения, организации и отображения развлекательной или другой информации в пределах дома или другой обстановки. Такая функция может включать в себя вывод информации на экран или в другую среду, определенную пользователем; это может быть информация о погоде, спорте, биржевых котировках, а также покупка билетов по сети, бронирование по сети, электронная почта, создание списка покупок и синхронизация с карманным компьютером или другими портативными устройствами, рецепты и сообщения о движении транспорта, в том числе видеосодержание.
Хотя в определенных вариантах осуществления настоящего изобретения, описанных выше, используются различные функциональные возможности, предоставляемые операционной системой Mac OS X (такие как Automaton, Applescript), настоящее изобретение совершенно не требует наличия конкретной операционной системы. Настоящее изобретение, в том числе, в частности, такой его аспект, как программирование функций, может быть реализовано на основе любой требуемой операционной системы, включая Windows и Linux, но не ограничиваясь ими.
Вышеприведенное описание относится к конкретным вариантам осуществления настоящего изобретения. С другой стороны, очевидно, что в описанные варианты осуществления могут вноситься другие изменения и модификации с достижением некоторых или всех их преимуществ. Кроме того, процедуры или процессы могут быть реализованы в аппаратных средствах, программном обеспечении, в форме машиночитаемого носителя, на котором находятся программные команды, встроенное программное обеспечение или их комбинация. Таким образом, цель прилагаемой формулы изобретения состоит в охвате всех таких изменений и модификаций в пределах сущности и объема изобретения.