Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента
Иллюстрации
Показать всеИзобретение относится к системам для адаптации и представления информации веб-страниц для ее отображения в клиентском устройстве. Технический результат заключается в повышении удобства обработки видеоданных. Раскрыты способы и системы для обработки объектных моделей документов (DOM) и обработки видеоконтента. Принимают информационный контент, который представлен моделью DOM и содержит язык сценариев, ассоциированный с этим информационным контентом, и сохраняют исходный контент модели DOM после выполнения языка сценариев. Затем видеоконтент адаптируют к клиентским устройствам. Язык сценариев, ассоциированный с информационным контентом, может быть передан в клиентское устройство наряду с модифицированной моделью DOM и обработанным видеоконтентом. Производят предварительную обработку языка сценариев, например, для идентификации узлов, ассоциированных с видеоконтентом и для охранения всех других исходных узлов. 3 н. и 20 з.п. ф-лы, 12 ил., 2 табл.
Реферат
ПЕРЕКРЕСТНАЯ ССЫЛКА НА СВЯЗАННЫЕ ЗАЯВКИ
Испрашивается приоритет согласно заявке на патент США №61/164625, поданной 30 марта 2009, содержание которой полностью включено в настоящую заявку путем ссылки.
ОБЛАСТЬ ТЕХНИКИ
Настоящая заявка в целом относится к области сетевой связи и просмотра веб-страниц. Более конкретно, изобретение относится к системе и способу для адаптации и представления информации веб-страниц для ее отображения в клиентском устройстве.
УРОВЕНЬ ТЕХНИКИ
Сегодня доступно множество страниц Всемирной паутины (документы на языке разметки гипертекста (HTML)), на которых предлагается множество текстового и нетекстового контента. Как известно, веб-страница обычно сформатирована посредством стандартного языка описания страниц, такого как HTML, который обычно включает текст и может иметь ссылки на графику, звук, анимацию и видеоданные. Язык HTML предусматривает форматирование основного документа и позволяет провайдеру веб-контента определять привязки или гипертекстовые ссылки на другие веб-серверы и файлы. Когда пользователь выбирает определенную гипертекстовую ссылку, веб-браузер считывает и интерпретирует адрес, называемый универсальным указателем ресурса (URL), который связан со ссылкой, осуществляет соединение с веб-сервером, расположенным по этому адресу, и инициирует запрос в рамках протокола передачи гипертекста (HTTP) на файл, указанный в ссылке. Затем веб-сервер отправляет требуемый файл в веб-браузер для трансляции и отображения файла пользователю.
На традиционном настольном персональном компьютере или портативном персональном компьютере с большим экраном, в котором запущен стандартный веб-браузер, контент типа HTML легко сортируется и выводится на экран для просмотра. Например, веб-сайты для поиска списков продаваемых объектов недвижимости часто предоставляют множество изображений и текстов, чтобы клиент мог быстро выбрать интересующий его объект. Когда пользователь находит интересующий его объект, он может увидеть детали, связанные с изображением этого конкретного объекта и выбрать изображение для получения дополнительной информации об объекте.
В то же самое время происходит развитие индустрии связи, а более конкретно, беспроводной связи. Это технологическое развитие позволяет электронному устройству, такому как мобильный персональный цифровой секретарь (PDA), сотовый телефон, пейджер, мобильный компьютер, и другим электронным устройствам осуществлять соединения с теми же источниками информации, например веб-сервером или базой данных, с которыми ранее мог связываться только персональный компьютер (PC) и браузер на его основе. Сейчас доступно несколько малых клиентских браузеров, которые обеспечивают доставку контента из сети в наладонные устройства.
Однако для таких малых устройств обычно характерна нехватка экранного пространства или недостаток навигационных возможностей для вывода на экран веб-контента, рассчитанного на использование дисплея в настольном компьютере или ноутбуке. Например, наладонные устройства могут иметь дисплеи, размеры которых малы по сравнению с размерами дисплеев настольного компьютера, и могут иметь меньшую вычислительную мощность по сравнению с настольными компьютерами. Таким образом некоторые части веб-контента, такие как изображения и текст, которые отображаются на дисплее настольного компьютера, могут не отображаться на дисплее наладонного устройства, если не сделать некоторых модификаций изображения или текста. Кроме того, из-за нехватки вычислительной мощности наладонные устройства могут быть не в состоянии выводить на экран контент, который требует большей обработки, например флэш-контент и видеоматериалы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В одном своем аспекте настоящее изобретение предлагает способ предоставления информационного контента для его отображения. Этот способ включает прием информационного контента, который представлен объектной моделью документа (DOM, document object model,), включающей язык сценариев, ассоциированный с указанным информационным контентом, при этом выполнение указанного языка сценариев на модели DOM приводит к модификации модели DOM. Кроме того, указанный способ включает вставку в модель DOM узла переключения в то место, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает модификации, выполняемые языком сценариев. Кроме того, если узел переключения имеет ветвь, которая указывает на первый контент данных, указанный способ дополнительно включает маркировку этого узла переключения, обработку DOM путем такого следования ветвями узлов переключения, чтобы для маркированных узлов переключения переходить в модифицируемые ветви, а для немаркированных узлов переключения переходить в исходные ветви, и вывод обработанной модели DOM.
В другом аспекте настоящего изобретения предложен считываемый компьютером носитель, содержащий выполняемые компьютером программные инструкции, заставляющие компьютерное устройство выполнять функции приема информационного контента, который представлен объектной моделью документа (DOM) и включает язык сценариев, ассоциированный с информационным контентом, при этом выполнение указанного языка сценариев на модели DOM приводит к изменениям, выполняемым на модели DOM. Указанные функции также включают вставку узла переключения в то место модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает изменения, выполняемые языком сценариев. Кроме того, если узел переключения имеет ветвь, которая указывает на первый контент данных, указанные функции дополнительно включают маркировку узла переключения, обработку DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицируемые ветви, а для немаркированных узлов переключения переходить в исходные ветви, и вывод обработанной модели DOM.
В еще одном аспекте настоящего изобретения предложен сервер, содержащий процессор и память, содержащую выполняемые процессором программные инструкции для выполнения функций приема информационного контента, который представлен объектной моделью документа (DOM) и который включает язык сценариев, ассоциированный с информационным контентом, при этом выполнение указанного языка сценариев на модели DOM приводит к изменениям, выполняемым на модели DOM. Указанные функции также включают введение узла переключения в то место модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает изменения, выполняемые языком сценариев, и, если узел переключения имеет ветвь, которая указывает на первый контент данных, маркировку этого узла переключения. Кроме того, сервер содержит нормализатор для обработки модели DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицируемые ветви, а для немаркированных узлов переключения переходить в исходные ветви, и путем вывода обработанной модели DOM.
Описанное выше представляет собой только иллюстрацию и не подразумевает ограничения изобретения. В дополнение к иллюстративным аспектам, вариантам и функциям, описанным выше, дополнительные аспекты, варианты и функции станут очевидными из чертежей и последующего подробного описания.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 показан пример системы для получения доступа, адаптации и предоставления информационного контента в электронные устройства.
На фиг.2 показана блок-схема примера компьютерного устройства.
На фиг.3 показан пример концептуальной объектной модели документа (DOM), представленной в виде древовидной структуры.
На фиг.4 показана последовательность операций, которая изображает шаги в рамках способа предоставления информационного контента.
На фиг.5 показан другой пример концептуальной модели DOM, представленной в виде древовидной структуры.
На фиг.6 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует узел сценария.
На фиг.7 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует обычный узел.
На фиг.8 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует обычный узел путем удаления дочерних элементов.
На фиг.9 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует модель DOM путем вставки нового узла перед модифицируемым узлом.
На фиг.10 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует модель DOM путем вставки нового узла после модифицируемого узла.
На фиг.11 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует узел путем изменения значения атрибута.
На фиг.12 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует узел путем замены дочерних элементов для данного узла контентом, определенным как строка HTML (например, путем выполнения функции Javascript "setlnnerHtml").
ПОДРОБНОЕ ОПИСАНИЕ
В последующем подробном описании делаются ссылки на чертежи, которые являются частью описания. На чертежах одинаковыми позициями обычно обозначены сходные компоненты, если из контекста не следует обратное. Иллюстративные варианты, описанные в подробном описании, чертежах и пунктах формулы изобретения, не являются ограничивающими. Могут быть использованы другие варианты и могут быть произведены другие изменения без отхода от сути или контекста изобретения. Очевидно, что аспекты настоящего раскрытия, описанные здесь и показанные на чертежах, могут быть расположены, подставлены, объединены и разработаны в большом количестве различных конфигураций, при этом все они подразумеваются и являются частью данного раскрытия.
В приведенных в качестве примера вариантах информационный контент представлен объектной моделью документа (DOM) и включает язык сценариев, ассоциированный с информационным контентом. Реализация способов приводит к выполнению языка сценариев, сохранению исходного контента DOM и адаптации видеоконтента для клиентских устройств. Кроме того, язык сценариев, ассоциированный с информационным контентом, может быть отправлен в клиентское устройство и выполнен клиентским устройством, а не сервером, выполняющим язык сценариев и полностью модифицирующим модель DOM, которая затем может быть отправлена в клиентское устройство без языка сценариев. Если отправить язык сценариев в клиентское устройство, это клиентское устройство сможет обеспечить большую функциональность веб-сайта. Кроме того, видеоконтент из информационного контента может быть обработан так, чтобы представить в клиентское устройство предварительное изображение и ссылку, которую пользователь клиентского устройства может выбрать для запроса на отображение этих видеоданных. Сервер может получить запрос, адаптировать видеоданные для отображения в клиентском устройстве и отправить адаптированные или перекодированные видеоданные в клиентское устройство.
Согласно показанным в качестве примера вариантам, узлы переключения могут быть добавлены в модель DOM во время обработки, а те из них, которые относятся к видеоконтенту, могут быть промаркированы. Как только эти узлы добавлены к модели DOM и промаркированы, сервер (например, адаптивный ускоритель контента (АСА, adaptive content accelerator)) может добавить неподвижное изображение и ссылку на протокол потоковой передачи в реальном времени (RTSP-протокол) к основному документу DOM. Имеет место предварительная обработка языка сценариев, например для идентификации узлов, связанных с видеоконтентом, и поддержки всех других исходных узлов.
На фиг.1 показана схема высокого уровня, иллюстрирующая пример системы 100 для получения доступа, адаптации и предоставления информационного контента в электронные устройства. Система 100 содержит источник 102 информации, сервер 104 и клиентское устройство 106.
Источник 102 информации включает любой тип устройства, такой как веб-сервер, сервер приложений, база данных или другая система с базой данных (бэкэнд), или любой интерфейс с поставщиком информации. Кроме того, источник 102 информации может содержать множество устройств или интерфейсов, которые обеспечивают соединение с информационным контентом. Источник 102 информации предоставляет информационный контент, выраженный на языке разметки, таком, например, как известные языки разметки, включая язык разметки гипертекста (HTML), расширяемый язык разметки (XML), с или без расширяемых таблиц стилей (XSL), язык VoiceXML, расширяемый язык разметки гипертекста (XHTML), язык разметки для беспроводной связи (WML) или другие типы языков, которые могут быть обработаны клиентским устройством 106. Кроме того, информационный контент может ссылаться на текст, изображения, видеоконтент или аудиоинформацию, которая выдается источником 102 информации. Например, информационный контент может быть веб-сайтом, веб-страницей или множеством веб-страниц.
К источнику 102 информации можно получить доступ через сеть любого типа с помощью сервера 104 через браузер 108 сервера. Браузер 108 сервера может связаться с клиентским устройством 106 по сети любого типа через клиентский браузер 110. Браузер 108 сервера может выполнять роль прокси-устройства между клиентским браузером 110 и источником 102 информации для просмотра контента веб-страницы. Для получения информационного контента браузер 108 сервера может работать как клиент источника 102 информации. Например, с использованием известного набора протоколов связи, таких как протокол управления передачей/межсетевой протокол (TCP/IP), браузер 108 сервера может выдать запрос по протоколу передачи гипертекста (HTTP) в источник 102 информации. С использованием http-запросов браузер 108 сервера может получить доступ к информационному контенту, включая приложения, а также статический и динамический контент, находящийся в источнике 102 информации.
Браузер 108 сервера и клиентский браузер 110 могут находиться на одной платформе или могут быть отделены друг от друга. Например, браузер 108 сервера может быть размещен на сервере бэкэнда, а клиентский браузер 110 может быть размещен на наладонном электронном устройстве, как показано на фиг.1. Альтернативно, клиентское устройство 106 и сервер 104 могут сосуществовать в одном и том же устройстве и таким образом использовать функциональные возможности друг друга. Например, браузер 108 сервера и клиентский браузер 110 могут быть размещены на одной платформе, например в электронном устройстве, если в платформе или электронном устройстве имеются соответствующие аппаратные средства и сетевые возможности. Таким образом, в рамках множества вариантов функциональные возможности можно описать как являющиеся частью клиентского браузера 110 или как являющиеся частью браузера 108 сервера. Клиентский браузер 110 может выполнять функции, описанные как выполняемые браузером 108 сервера, а браузер 108 сервера может выполнять функции, описанные как выполняемые клиентским браузером 110. С использованием сервера и клиентского браузера электронные устройства с ограниченными аппаратными возможностями могут получать доступ к информации или данным разнообразного характера.
Обычно сервер 104 и клиентское устройство 106 содержат центральный процессор, память (блок первичной и/или вторичной памяти), интерфейс ввода для приема данных, интерфейс ввода для приема входных сигналов из одного или большего количества устройств для ввода данных (например, клавиатуры, мыши и т.д.) и интерфейс вывода для связи с устройством вывода (например, монитором). В общем, должно быть понятно, что сервер 104 и клиентское устройство 106 могут содержать аппаратные средства, разработанные с использованием технологий изготовления интегральных схем или некоторых других способов, или комбинацию аппаратных и программных средств, которые могут быть упорядочены, параметризованы и соединены в рамках программной среды для выполнения различных функций, описанных в данном документе. Кроме того, аппаратные средства могут осуществлять связь с использованием электрических сигналов, при этом состояния сигналов представляют различные данные. Кроме того, следует отметить, что сервер 104 и клиентское устройство 106 обычно могут выполнять резидентную прикладную программу в сервере 104 и клиентском устройстве 106 под управлением операционной системы. Прикладные программы, такие как браузер 108 сервера и клиентский браузер 110, могут храниться в памяти в пределах сервера 104 и клиентского устройства 106 и могут быть реализованы с использованием команд на машинном языке или программного обеспечения с объектно-ориентированными инструкциями, например языка программирования Java. Однако можно использовать и другие языки программирования (например, язык программирования C++).
Например, клиентский браузер 110 может находиться в клиентском устройстве 106, которое может быть электронным устройством, содержащим любое из следующих устройств: персональный компьютер (PC), беспроводной телефон, персональный цифровой секретарь (PDA), наладонный компьютер, сетевой компьютер и различные другие типы электронных устройств, обладающих возможностями навигации (например, клавиатурой, сенсорным экраном, мышью и т.д.) и дополнительным дисплеем для просмотра загруженного информационного контента. Кроме того, клиентское устройство 106 может содержать устройства любых типов, у которых имеется возможность использования разметку синтеза речи, такую как язык VoiceXML Консорциума World-Wide Web (World Wide Web Consortium (W3C) Voice Extensible Markup (VoiceXML). Специалистам в области компьютерных систем очевидно, что приведенные в качестве примера варианты не ограничены никаким определенным классом или моделью компьютера, используемого для клиентского устройства 106, и они смогут выбрать подходящую систему.
В рамках рассматриваемого примера клиентский браузер 110 находится в клиентском устройстве 106, а персональный компьютер (PC) является ведущим узлом браузера 108 сервера, при этом клиентское устройство 106 и персональный компьютер - оба соединены с сетью Ethernet. Кроме того, клиентский браузер 110 и браузер 108 сервера могут выполнять обмен информацией по сети Ethernet. При таком обмене информации используется Ethernet или протоколы IEEE 802.3. Однако в этом примере браузеры клиента и сервера связываются по проводной сети. Связь может также включать беспроводную сеть, такую как локальная беспроводная сеть (LAWN, local area wireless network), беспроводная локальная сеть (WLAN, wireless local area network) или сотовая беспроводная сеть. Кроме того, связь может включать использование беспроводных сетей, в которых используются другие известные протоколы и технологии, например Bluetooth, протокол приложений для беспроводной связи (WAP, wireless application protocol), многостанционный доступ с временным разделением каналов (TDMA) или многостанционный доступ с кодовым разделением каналов (CDMA).
На фиг.1 клиентский браузер 110 может отправить запрос на информацию в браузер 108 сервера. Клиентский браузер 110 может содержать транслятор 112 событий для преобразования протокола запроса/ответа, такого как запрос HTTP, из клиентского браузера 110 (например, WML, XHTML, cHTML и т.д.) в событие, которое способен распознать браузер 108 сервера. Процесс преобразования может включать информацию о событии, информацию о контенте и контекст события в таком виде, чтобы поддерживать обмен данными между клиентским браузером 110 и источником 102 информации (например, представление в форме HTML).
Информационный контент извлекается из источника 102 информации и может быть адаптирован для использования в клиентском браузере 110 браузером 108 сервера. Альтернативно, браузер 108 сервера может извлечь информацию и отправить ее в клиентский браузер 110, который сам адаптирует информацию для просмотра. Преобразование контента может оказаться необходимым, так как запрашиваемый контент (например, веб-страница) мог быть первоначально разработан для просмотра на большом экране персонального компьютера, а не на небольшом экране наладонного устройства. В результате браузер 108 сервера и/или клиентский браузер 110 могут выполнить преобразование информационного контента или применить специфические для устройства таблицы стилей, способствующие презентации (например, на дисплее или посредством речи) и навигации (например, с помощью клавиатуры, сенсорного экрана или прокрутки), и произвести группировку контента для электронных устройств, которые принимают данные ограниченными порциями.
Для обеспечения таких возможностей браузер 108 сервера или клиентский браузер 110 могут содержать модули (не показаны), содержащие, например, пользовательский агент, обработчик данных типа cookie, объектную модель документа (DOM), исполнитель сценариев, нормализатор и преобразователь данных в последовательную форму (сериализатор). Дополнительная информация, имеющая отношение к преобразованию информационного контента или настройке, раскрыта в патенте США №7072984 "System and method for accessing customized information over the internet using a browser for a plurality of electronic devices", заявке на патент США 2004/0049737 "System and Method for Displaying Information Content with Selective Horizontal Scrolling", патенте США №7500188 "System and Method for Adapting Information Content for an Electronic Device", заявке на патент США 2007/0073777 "System and Method for Web Navigation Using Images" и заявке на патент США 2008/0195692 "Method and System for Converting Interactive Animated Information Content for Display on Mobile Devices", - содержание каждого из перечисленных документов полностью включено в настоящее описание путем ссылки.
Система 100 включает программное обеспечение (в пределах клиентского устройства 106 или сервера 104), предназначенное для модификации веб-контента в формат, пригодный для отображения в клиентском устройстве 106. В рамках данного описание термин веб-контент может относиться к веб-странице, принятой из источника 102 информации, или файлу, загруженному из источника 102 информации. Например, веб-контент может включать текстовые блоки, изображения, аудиофайлы или видеофайлы. Модификация веб-контента, у которого имеется одна характеристика, с формированием веб-контента, у которого имеется другая характеристика, называется рендерингом веб-контента или просто рендерингом. Примеры характеристик веб-контента могут включать (но этим не ограничиваются), размеры шрифтов, размеры изображения, скорости передачи видеопотока и т.д.
На фиг.2 показана блок-схема компьютерного устройства 200, представленного в качестве примера. В одном из примеров компьютерное устройство 200 может работать в качестве клиентского устройства, показанного на фиг.1. В другом примере компьютерное устройство 200 может работать в качестве сервера, показанного на фиг.1. Компьютерное устройство 200 принимает информационный контент во входной интерфейс 202. Информационный контент может быть принят, например, из источника информации или из промежуточного прокси-сервера. Информационный контент может быть представлен в виде данных веб-сайта и может быть перекодирован для просмотра в клиентском устройстве или, альтернативно, может быть принят в исходном виде и перекодирован (если это требуется) компьютерным устройством 200.
Входной интерфейс 202 соединяет процессор 204 и браузер 206. Процессор 204 может обрабатывать данные и управлять работой компонентов в компьютерном устройстве 200. Процессор 204 может быть выполнен как процессор с доступом к памяти 208 для выполнения хранимого в ней программного обеспечения. Специалисту в области проектирования компьютерных систем очевидно, что варианты показанной в качестве примера конструкции не ограничены никаким конкретным классом или моделью процессора. Процессор 204 может работать под управлением операционной системы, которая может быть любой подходящей коммерчески доступной встроенной хранящейся на диске операционной системой или любой частной операционной системой. Кроме того, процессор 204 может содержать один или большее количество малых центральных процессоров, включая, например, программируемый механизм цифровой обработки сигналов, или может быть реализован как одиночная специализированная интегральная схема (ASIC), что позволяет повысить быстродействие и сэкономить пространство. В общем случае подразумевается, что процессор 204 может содержать аппаратные средства, разработанные с использованием технологий изготовления интегральных схем или некоторых других способов, или комбинацию аппаратных и программных средств, которые могут быть упорядочены, параметризованы и соединены в рамках программной среды для выполнения различных функций, описанных в данном документе. Кроме того, аппаратные средства могут осуществлять связь с использованием электрических сигналов, при этом состояния сигналов представляют различные данные.
Память 208 может хранить информацию, например, в виде ранее переданных или принятых сигналов. Память 208 может включать оперативную память (RAM), флэш-память или долговременную память, например такую как постоянная память (ROM) или магнитные диски. Память 208 может хранить инструкции на машинном языке, которые представляют собой программу, выполняемую процессором 204, для реализации функций, описанных в настоящем документе (например способа, иллюстрируемого на фиг.4).
Браузер 206 может включать механизм 210 TCP/IP и видеоплеер 212. Браузер 206 может принимать информационный контент и подготавливать его к отображению. Для этого браузер 206 может форматировать информационный контент по мере необходимости путем перекодирования контента для отображения на наладонном устройстве. В этом отношении браузер 206 может работать в качестве браузера сервера и перекодировать информационный контент, посылаемый в клиентское устройство. Альтернативно, браузер 206 может работать в качестве клиентского браузера со всеми возможностями перекодирования информационного контента, например после получения этого контента из сервера. Или же браузер 206 может работать в качестве клиентского браузера не в полном объеме и может принимать информационный контент и выводить его на экран в том виде, в котором он был получен.
Механизм 210 TCP/IP работает для осуществления приема и передачи запросов на информационный контент. Компьютерное устройство 200 может работать под управлением процессора 204 для преобразования информационного контента в форму, доступную запрашивающим клиентским устройством. Например, клиентское устройство может запросить обычную веб-страницу, и таким образом компьютерное устройство 200 получит доступ в Интернет и извлечет запрашиваемую веб-страницу, и затем браузер 206 может преобразовать эту веб-страницу в форму, доступную для клиентского устройства. В некоторых случаях веб-страница будет включать видеообъект, фильм или контент для flash-проигрывателя, и таким образом компьютерное устройство 200 извлечет и загрузит веб-страницу в браузер 206 с использованием видеоплеера 212. Затем браузер 206 может модифицировать веб-страницу или видеоконтент так, как требуется, и передать модифицированный контент в клиентское устройство. Альтернативно, компьютерное устройство может работать в качестве клиентского устройства и выполнять модификацию и перекодирование в клиентском устройстве.
Компьютерное устройство 200 может дополнительно содержать нормализатор, выполненный как отдельный элемент 214 или как компонент процессора 204 или браузера 206. Например, нормализатор 214 может преобразовывать или перекодировать информационный контент в формат, предназначенный для отображения этого контента на клиентском устройстве.
Для клиентского или наладонного браузеров существует множество способов, которые можно использовать, чтобы помочь пользователю осуществлять навигацию по веб-страницам. Например, клиентские браузеры могут менять расположение веб-контента, менять расположение изображений или размер текстовых символов, или менять веб-страницу так, чтобы отобразить ее на клиентском устройстве.
Веб-страницы обычно содержат последовательность вложенных объектов. Эти объекты составляют объектную модель документа (DOM) для данной веб-страницы. Модель DOM представляет собой не зависящий от платформы и не зависящий от языка интерфейс, который позволяет программам и сценариям динамически получать доступ и обновлять контент, структуру и стиль объекта. Модель DOM может быть дополнительно обработана, и результаты обработки могут быть встроены назад в веб-страницу. Модель DOM может быть представлена в форме языка HTML и определять стандартный способ доступа и управления документами HTML. В одном из примеров модель DOM может быть документом HTML и может быть представлена в виде древовидной структуры.
На фиг.3 показан пример концептуальной модели DOM, представленной в виде древовидной структуры. Модель DOM включает документ HTML. Документ HTML включает элементы HTML, у которых в общем имеется три компонента: пара тэгов элемента с тэгом начала и тэгом конца, атрибуты элементов, присвоенные элементу внутри тэгов, и текстовый и графический информационный контент, который будет отображен на дисплее. Внутри контента веб-страницы тэги заключены в угловые скобки. Кроме того, документ HTML может включать или может загружать сценарии на таких языках, как Javascript, которые влияют на работу процессоров HTML, таких как веб-браузеры, и каскадные таблицы стилей (CSS), для определения внешнего вида и расположение текста и другого материала. В примере, показанном на фиг.3, документ HTML может иметь вид, представленный в Таблице 1.
Для представления документа HTML в виде древовидной структуры, корневой элемент <html> начинает дерево и предлагает ветви для следующего подуровня элементов, таких как элементы «голова» (head) и «тело» (body) документа HTML. Ветвь головы содержит элемент title (название) и заканчивается текстом title. Ветвь тела сама содержит две ветви, включая элемент ссылки (link) <a> и элемент <h1> заголовка (header). Каждая из этих ветвей содержит текст, а ветвь элемента ссылки включает также атрибут гиперссылки.
Документы HTML или веб-страницы могут также включать язык сценариев или протокол, связанный с веб-страницей или включенный в нее. Одним из примеров языка сценариев является Javascript, который представляет собой объектно-ориентированный язык сценариев, используемый для включения программируемого доступа к объектам внутрь клиентского приложения и других приложений. Механизмы Javascript могут быть реализованы как компонент веб-браузера, и когда на веб-странице имеется Javascript, механизм Javascript может выполнить этот элемент Javascript, например, для улучшения пользовательского интерфейса и создания динамических веб-сайтов.
При выполнении языка сценариев этот язык сценариев может модифицировать модель DOM, повышая функциональные возможности по отображению этой веб-страницы. Например, язык сценариев может быть выполнен так, что когда на веб-странице имеется видеоконтент, язык сценариев может обеспечить загрузку видеоплеера для отображения этого видеоконтента. Язык сценариев может вызвать загрузку других приложений или отображение элементов веб-страницы обычным способом.
В настоящем изобретении описаны системы и способы для включения поддержки видеоприложений в клиентские устройства. Когда клиентское устройство запрашивает информационный контент, такой как веб-страница, сервер может получить запрос и извлечь эту веб-страницу. Затем сервер может выполнить любой язык сценариев, связанный с веб-сайтом, и модифицировать исходную модель DOM веб-сайта так, как указано в выполняемом языке сценариев, или же модифицировать исходную модель DOM веб-сайта только в отношении тех аспектов DOM, которые относятся к видеоконтенту или содержат его. Например, сервер может выполнить язык сценариев, модифицировать модель DOM для обработки видеоконтента в пределах требуемого веб-сайта и передать модифицированную модель DOM в клиентское устройство. После этого клиентское устройство может отобразить обработанный видеоконтент.
В зависимости от типа и стиля клиентского устройства могут быть реализованы различные способы. Например, в клиентских устройствах (например, беспроводных телефонах), обладающих определенными функциями браузера, например функциями браузера, аналогичными функциям настольного компьютера (например, в телефоне высокого технического уровня (НЕР, high-end phone)), видеопросмотр для клиентского устройства может быть обеспечен посредством клиентского браузера в режиме видеопотока. Возможности браузера могут меняться в зависимости от клиентского устройства, а кроме того, требования к браузеру могут меняться в зависимости от типа и количества видеоконтента, поставляемого в клиентское устройство и отображаемого в нем.
На фиг.4 показана последовательность шагов для способа 400 предоставления информационного контента. В одном из примеров способ 400 может быть реализован в сервере или прокси-сервере, как показано на фиг.1. В другом примере способ 400 может быть реализован в клиентском устройстве, как показано на фиг.1.
На фиг.4 иллюстрируются возможности и работа одной из возможных реализаций предлагаемых вариантов выполнения изобретения. В этом отношении каждый блок может представлять собой модуль, сегмент или часть программного кода, который включает одну или большее количество исполняемых процессором инструкций для реализации определенных логических функций или шагов процесса. Программный код может храниться на любом типе считываемого компьютером носителя, например в запоминающем устройстве, содержащем дисковод или жесткий диск. Кроме того, каждый блок может представлять собой электрическую схему, которая соединена с другими для выполнения определенных логических функций в процессе. Альтернативные реализации включены в объем вариантов выполнения настоящего изобретения, при этом указанные функции могут выполняться в другом порядке по сравнению с показанным или рассматриваемым, включая по существу параллельный порядок или обратный порядок, в зависимости от имеющихся функциональных возможностей, как очевидно специалистам в данной области техники.
В примере, в котором способ 400 реализован в сервере, этот сервер может принять запрос на информационный контент, например, от клиентского устройства, а этот информационный контент сервер получает из источника информации, как показано в блоке 402.
Затем сервер может определить, содержит ли информационный контент выбранные данные (например, видеоданные), как показано в блоке 404. Например, сервер может сослаться на список, включающий веб-сайты, на которых имеются видеоданные, и, если информационный контент находится в этом списке, сервер может определить, что информационный контент включает видеоданные. Пример списка может включать список операций, администрирования, сопровождения и предоставления (ОАМР, operations, administration, maintenance and provisioning) для веб-сайтов с видеоконтентом для телефонов высокого технического уровня (НЕР). Альтернативно, сервер может производить поиск информационного контента по идентификаторам HTML, таким как тэги встраивания или объекта, которые указывают, что информационный контент включает видеоданные. В зависимости от типа данных, по которым производится поиск, сервер может определить местоположение контента и выяснить, содержит ли этот информационный контент такие данные.
Альтернативно, блок 404 может быть удален, и способ 400 может быть выполнен на всем информационном контенте. Однако выполнение блока 404 может научить обрабатывать информационный контент для объектов, в которых информационный контент не содержит видеоданных. Кроме того, блок 402 может быть выполнен на информационном контенте, если информационный контент, по меньшей мере потенциально, включает видеоданные.
В еще одном варианте блок 404 может быть удален, и способ 400 может быть выполнен только дл