CN105518614A - 用于多屏幕应用程序的屏幕录制 - Google Patents

用于多屏幕应用程序的屏幕录制 Download PDF

Info

Publication number
CN105518614A
CN105518614A CN201480013367.5A CN201480013367A CN105518614A CN 105518614 A CN105518614 A CN 105518614A CN 201480013367 A CN201480013367 A CN 201480013367A CN 105518614 A CN105518614 A CN 105518614A
Authority
CN
China
Prior art keywords
webpage
display
information
remote
playing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480013367.5A
Other languages
English (en)
Other versions
CN105518614B (zh
Inventor
尤里·詹姆斯·维塔拉
林新忠
林骄阳
马克·福尔茨
尼古拉斯·卡特尔
马克·大卫·斯科特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN105518614A publication Critical patent/CN105518614A/zh
Application granted granted Critical
Publication of CN105518614B publication Critical patent/CN105518614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • G09G2340/145Solving problems related to the presentation of information to be displayed related to small screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

根据一个一般方面,一种方法可包括通过本地计算装置的处理器来确定网页的用于渲染以便通过远程装置的远程显示器显示的部分。所述方法还可包括通过基于所述远程装置的至少一个特性渲染所述网页的所述部分来产生渲染的呈现信息。所述方法可包括将所述渲染的呈现信息传输到所述远程装置。

Description

用于多屏幕应用程序的屏幕录制
相关申请的交叉引用
本申请要求2013年3月15号提交的标题为“SCREENCASTINGFORMULTI-SCREENAPPLICATIONS”的美国非临时专利申请号13/843,693的优先权,并为其继续申请,所述申请的公开内容以引用方式整体并入本文。
技术领域
本说明书涉及显示图像或内容,并且更具体地涉及在远程显示器上显示由本地计算装置产生的图像。
背景技术
传统的远程桌面实现方案操作为客户端/服务器计算环境。控制计算机(在本上下文中被称为客户端)显示从受控计算机(在这个上下文中是服务器)的显示屏幕接收的图像的副本。通常以定时间隔或者在远程控制软件注意到屏幕上的改变时更新所述副本。控制计算机上的软件将其本身的键盘和鼠标活动传输到受控计算机,在所述受控计算机中远程控制软件实现这些动作。受控计算机随后表现得好像所述动作是直接在那个计算机处执行的。在许多情况下,本地显示器和输入装置可能被禁用,从而使得不能查看或干涉远程会话。
发明内容
根据一个一般方面,一种方法可包括通过本地计算装置的处理器来确定网页的用于渲染以便通过远程装置的远程显示器显示的部分。所述方法还可包括通过基于远程装置的至少一个特性渲染网页的所述部分来产生渲染的呈现信息。所述方法可包括将渲染的呈现信息传输到远程装置。
实现方案可包括以下特征中的一个或多个。例如,产生渲染的呈现信息可包括选择与远程显示器相关联的一组呈现特性信息和/或基于与远程显示器相关联的所述一组呈现特性信息来渲染网页的所述部分。传输可包括根据实时通信协议重新格式化渲染的呈现信息。实时通信协议可大致顺应网络实时通信(WebRTC)。网页的用于渲染以便显示的部分可包括音频部分。产生渲染的呈现信息可包括基于远程装置的音频部件的至少一个特性产生音频信号。
例如,所述方法的步骤可还包括:确定网页的用于渲染以便通过本地计算装置的本地显示器显示的第二部分;通过基于本地显示器的至少一个特性渲染网页的第二部分来产生第二渲染的呈现信息;和/或通过本地显示器显示第二渲染的呈现信息。另外,通过本地显示器显示第二渲染的呈现信息可包括使显示第二渲染的呈现信息与渲染的呈现信息传输到远程装置同步进行。此外,网页的用于渲染以便通过本地显示器显示的第二部分可包括网页的用于渲染以便通过远程显示器至少显示的部分。所述方法的步骤还可包括通过本地计算装置接收用户输入。另外,确定网页的用于渲染以便通过远程显示器显示的部分可以是至少部分地基于用户输入。
根据另一个一般方面,一种设备可包括处理器和网络接口。处理器可被配置来确定网页的用于渲染以便通过远程装置的远程显示器显示的部分,并且通过基于远程装置的至少一个特性渲染网页的所述部分来产生渲染的呈现信息。网络接口可被配置来将渲染的呈现信息传输到远程装置。
实现方案可包括以下特征中的一个或多个。例如,处理器可被配置来选择与远程显示器相关联的一组呈现特性信息,和/或基于与远程显示器相关联的所述一组呈现特性信息来渲染网页的所述部分。处理器可被配置来根据实时通信协议重新格式化渲染的呈现信息。实时通信协议可大致顺应网络实时通信(WebRTC)。网页的用于渲染以便显示的至少部分可包括音频部分。处理器可被配置来基于远程装置的音频部件的至少一个特性产生音频信号。
例如,处理器可进一步被配置来确定网页的用于渲染以便通过设备的本地监视器显示的第二部分,和/或通过基于本地监视器的至少一个特性渲染网页的第二部分来产生第二渲染的呈现信息。本地监视器可被配置来显示第二渲染的呈现信息。处理器可进一步被配置来使显示第二渲染的呈现信息与渲染的呈现信息传输到远程装置同步进行。网页的用于渲染以便通过本地监视器显示的第二部分可包括网页的用于渲染以便通过远程显示器至少显示的部分。处理器可进一步被配置来通过设备接收用户输入,和/或至少部分地基于用户输入确定网页的用于渲染以便通过远程显示器显示的部分。
根据另一个一般方面,一种有形地体现的计算机可读介质可包括机器可执行程序的可执行代码,所述可执行代码在被执行时可被配置来致使设备:通过设备的处理器来确定网页的用于渲染以便通过远程设备的远程呈现硬件部件呈现的部分;通过基于远程设备的至少一个特性渲染网页的所述部分来产生渲染的呈现信息;并且将渲染的呈现信息传输到远程设备。
实现方案可包括以下特征中的一个或多个。例如,产生渲染的呈现信息可包括选择与远程显示器相关联的一组呈现特性信息和/或基于与远程显示器相关联的所述一组呈现特性信息来渲染网页的所述部分。传输可包括根据实时通信协议重新格式化渲染的呈现信息。实时通信协议可大致顺应网络实时通信(WebRTC)。网页的用于渲染以便显示的部分可包括音频部分。产生渲染的呈现信息可包括基于远程装置的音频部件的至少一个特性产生音频信号。
例如,所述方法的步骤还可包括:确定网页的用于渲染以便通过本地计算装置的本地显示器显示的第二部分;通过基于本地显示器的至少一个特性渲染网页的第二部分来产生第二渲染的呈现信息;和/或通过本地显示器显示第二渲染的呈现信息。另外,通过本地显示器显示第二渲染的呈现信息可包括使显示第二渲染的呈现信息与渲染的呈现信息传输到远程装置同步进行。此外,网页的用于渲染以便通过本地显示器显示的第二部分可包括网页的用于渲染以便通过远程显示器至少显示的部分。所述方法的步骤还可包括通过本地计算装置接收用户输入。另外,确定网页的用于渲染以便通过远程显示器显示的部分可以是至少部分地基于用户输入。
一个或多个实现方案的细节在附图和以下描述中阐明。从描述和附图,并且从权利要求书,将明确看出其他特征。
大致如结合至少一个附图示出和/或描述的用于显示信息的系统和/或方法在权利要求书中更全面地阐明。
附图说明
图1是根据所公开的主题的系统的示例性实施方案的框图。
图2是根据所公开的主题的系统的示例性实施方案的框图。
图3是根据所公开的主题的系统的示例性实施方案的框图。
图4是根据所公开的主题的技术的示例性实施方案的流程图。
图5示出可用于实现本文描述的技术的计算机装置和移动计算机装置的实例。
在各图中,类似的参考符号指示类似的元件。
具体实施方式
图1是根据所公开的主题的系统100的示例性实施方案的框图。在一个实施方案中,系统100可包括由用户190使用或操作的计算装置102。在一些实施方案中,系统100还可包括被配置来显示或呈现一个或多个音频和/或视觉信号或一条或多条信息的显示装置104。在另一个实施方案中,系统100可包括被配置来提供一个或多个网页170的一个或多个服务器装置106。
在各种实施方案中,客户端或处理装置102可包括计算装置,例如像膝上型计算机、桌上型计算机、工作站、个人数字助理、智能手机、平板电脑以及其他适当的计算机等,或其虚拟机或虚拟计算装置。在这种实施方案中,处理装置102可包括足以产生用于由显示装置104显示的呈现信息的计算资源(例如,处理能力、存储器等)。
在这种实施方案中,处理装置102可被配置来获取网页142或其他组原始信息,并且使用那个信息来产生所需的呈现信息以便将所述信息呈现给用户191和/或用户190。随后可将这个呈现信息146传达到显示装置104,在所述显示装置104中将其呈现给用户191。
在这个上下文中,术语“呈现”和其各种单词形式(例如,“呈现了”、“呈现的”等)可包括通过与一种感官知觉形式(例如,液晶显示器(LCD)、耳机、触觉硬件等)相关联的至少一个硬件部件将信息输出给用户(例如,用户191等)。例如,在一个实施方案中,向用户呈现信息可仅包括向用户显示视频信号或视觉信息。在另一个实施方案中,呈现可包括显示视频信号或视觉信息以及通过扩音器向用户播放音频信号。在又一个实施方案中,其中显示器或呈现装置的输出硬件包括触觉硬件(例如,隆隆声控制器、触觉触摸屏等),呈现可包括根据与这种触觉装置相关联的信号或信息控制触觉硬件。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在本文的各种实施方案中,在讨论所公开的主题时术语“显示”可用于说明性目的,应当理解,这只是说明性的并且所公开的主题并不仅仅限于信息的视觉呈现。
在各种实施方案中,计算装置102可包括被配置来执行一个或多个机器可执行指令或一个或多个软件、固件片段或其组合的处理器112。在一些实施方案中,计算装置102可包括被配置来以暂时、永久、半永久或其组合的方式存储一条或多条数据的存储器114。另外,存储器114可包括易失性存储器、非易失性存储器或其组合。在各种实施方案中,计算装置102可包括被配置来以半永久或大致永久的形式存储数据的存储介质115。在各种实施方案中,存储器114可包括存储介质115。在一些实施方案中,计算装置102可包括一个或多个网络接口116,所述一个或多个网络接口116被配置来与一个或多个通信网络(例如,有线网络、无线网络、蜂窝网络等)相关联并且通过所述一个或多个通信网络进行通信。在一些实施方案中,计算装置102可包括人类输出装置(HOD)118,如监视器、显示器、扩音器、耳机等,计算装置102可通过所述HOD118向用户190呈现信息。在各种实施方案中,计算装置102可包括一个或多个其他硬件部件113(例如,键盘、触摸屏、照相机、指纹读取器、视频处理器等)。
在各种实施方案中,计算装置102可包括操作系统(OS)117,所述OS117被配置来向应用程序120提供一种或多种服务并且管理应用程序(例如,应用程序120等)和计算装置102的各种硬件部件(例如,处理器112、网络接口116等)或充当它们之间的中介。
在这种实施方案中,计算装置102可包括一个或多个本地应用程序(例如,应用程序120等),所述一个或多个本地应用程序可安装在本地(例如,在存储介质115内等)并且被配置来由处理器112直接执行且直接与OS117相互作用。在这种实施方案中,本地应用程序可包括预编译的机器可执行代码。在一些实施方案中,本地应用程序可包括被配置来将源代码或目标代码翻译成随后由处理器112执行的可执行代码的脚本解释器(例如,Cshell(csh)、AppleScript、AutoHotKey等)或虚拟机(例如,Java虚拟机、微软公共语言运行时等)。
在一些实施方案中,计算装置102可包括网络浏览器120,所述网络浏览器120被配置来从物理远程服务器或网络服务器(例如,服务器106等)访问网站或网页、脚本等的集合。在一些实施方案中,可包括网络浏览器120作为本地应用程序中的一个或操作系统117的一部分。
在各种实施方案中,网络应用程序120可被配置来在图形用户界面(GUI)中同时显示若干文档或网页。在GUI的区域中,标签式文档界面(TDI)或多文档界面(MDI)允许将多个文档容纳在单个窗口内。通常,标签可用作用于在应用程序的单个窗口内向用户190提供不同内容(例如,文档、网页等)并且允许用户在查看不同标签中的不同内容和与其相互作用之间轻松切换的容器。TDI和MDI是最常见地被包括在网络浏览器、网络应用程序、文本编辑器和偏好窗格中的界面样式。
在各种实施方案中,网络浏览器124可包括一个或多个浏览器扩展132或被配置来与其相互作用。在这个上下文中,“浏览器扩展132”可包括包装或组合在一起作为可定义整体的一个或多个网页(例如,网页142等),并且被配置来向网络浏览器120添加功能性。在一个实施方案中,浏览器扩展132可通过更改网络浏览器120显示或渲染网页142或网站的方式(例如,通过屏蔽广告、添加超链接等)来添加功能性。在所示的实施方案中,浏览器扩展132可通过与显示器或呈现装置104通信来向网络应用程序120添加功能性。在另一个实施方案中,浏览器扩展132可允许或重新配置网络浏览器120的渲染引擎,如以下所述。在又一个实施方案中,网络应用程序120可包括本文描述的能力中的一种或多种并且可不包括这种浏览器扩展132。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在这个上下文中,“网页”包括作为网站的一部分的文件或文档。在各种实施方案中,此类网页可包括被格式化为以下的文件:超文本标记语言(HTML)、层叠样式表(CSS)、JavaScript、可扩展标记语言(XML)(如XHTML(可扩展超文本标记语言))文件、AdobeFlash文件、图像、视频等。在各种实施方案中,网络浏览器120可处理一个或多个网页以便渲染一个网页。例如,HTML网页可被其他网页修改或包括其他网页,如JavaScripts、CSS文件、各种图像等。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在这个上下文中,“网站”可包括相关网页的集合或组合,所述相关网页对用户190(或用户191等)来说通常是可查看的或可理解的(一旦被网络浏览器120渲染)。在各种实施方案中,当通过通信网络访问网站(例如,网页170)时,可通过超文本传输协议(HTTP)或超文本传输协议安全(HTTPS)来访问所述网站。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在所示的实施方案中,网络应用程序120可被配置来从一个或多个服务器装置106访问网页142。在一些实施方案中,网页142可由处理装置102存储在本地。在另一个实施方案中,网页142可由另一个应用程序(例如,视频游戏等)产生。
在各种实施方案中,服务器装置106可包括计算装置,例如像膝上型计算机、桌上型计算机、工作站、个人数字助理、智能手机、平板电脑以及其他适当的计算机等,或其虚拟机或虚拟计算装置。在这种实施方案中,服务器装置106可包括类似和/或相似于以上关于客户端装置102(例如,处理器、存储器、操作系统等)描述的硬件部件的各种硬件和软件部件172。在所示的实施方案中,服务器装置106可被配置来根据请求(例如,来自网络应用程序120或其他应用程序等)将一个或多个网页142提供至客户端装置102。在各种实施方案中,网页142可由服务器装置106或多个静态网页170中的一个、或其组合动态地产生。
在所示的实施方案中,当网络应用程序120接收网页142(从服务器装置106或其他来源)时,网络应用程序120(或其部件,如浏览器扩展132)可确定是否将远程地呈现(例如,通过呈现装置104)网页142的任何部分。在一些实施方案中,可远程地(相对于处理装置102)呈现整个网页142。
在一个实施方案中,可在本地呈现(例如,通过显示器118)网页142(或其部分)。在这种实施方案中,用户190可指示(例如,通过用户界面(UI)元素)将远程地显示网页的部分或部件(例如,视频、图像、音频信号等)。在一些实施方案中,这可导致以本地和远程两种方式呈现所指示的部分。在另一个实施方案中,可停止网页142的所指示部分的本地呈现并且可开始或启动所述部分的远程呈现。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在另一个实施方案中,网页142本身或与网页142相关联的另一个网页可包括将远程地呈现网页142或其部分的指示。在一个实施方案中,这个指示可通过HTML标签或属性(例如“目标”属性等)而发生。在另一个实施方案中,所述指示可通过可编程函数,如脚本(例如,JavaScript等)调用(例如,window.open()方法或子程序或其派生物等)而发生。在这种实施方案中,可基于现有的脚本方法或子程序来创建新的脚本方法或子程序。这种新方法或子程序可包括另外的参数(例如,显示器类型、目的地呈现装置标识符或地址等)。在又一个实施方案中,所述指示可通过被配置来促进多监视器或远程呈现网页或应用程序的创建和使用的应用程序编程接口(API)而发生。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在各种实施方案中,网页142的所述部分可包括网络应用程序120的整个标签或窗口以及与那个标签或窗口相关联的任何其他网页。在一些实施方案中,网页142的所述部分可包括网络应用程序的隐藏或不可见标签。在这种实施方案中,用户190在本地可能不可见隐藏标签,但用户190可通过相关联的非隐藏或可见标签或通过浏览器扩展132或网络应用程序120的UI元素来控制所述隐藏标签。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在另一个实施方案中,网页142可包括一个或多个文档对象模型(DOM)元素或相似的层次或可分离元素。在一些实施方案中,网页142的所述部分可包括DOM元素或所述DOM元素和其子元素或从属DOM元素。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
虽然在各种实施方案中可以本地、远程、部分远程和/或部分本地的方式呈现网页142,但图1的描述的剩余部分将讨论以本地和远程两种方式呈现网页142的情况,因为这允许对本地呈现机制和远程呈现机制进行解释和比较。应当理解,以下只是一个说明性的实例,所公开的主题并不限于此。
在所示的实施方案中,网络应用程序120可确定是否将以本地和远程两种方式呈现(通过呈现装置104)网页142。在一个实施方案中,网页142可包括将在处理平板电脑或其他装置102上显示并且将在电视机或其他呈现装置104上显示的视频或电影。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在各种实施方案中,显示器或呈现装置104可包括计算装置,例如像膝上型计算机、桌上型计算机、工作站、个人数字助理、智能手机、平板电脑、电视机、投影仪、扩音器以及被配置来通过一种感官知觉形式将信息呈现给用户的其他适当装置等,或其虚拟机或虚拟计算装置。在这种实施方案中,呈现装置104可包括或不包括类似或相似于以上关于客户端装置102(例如,处理器、存储器、操作系统等)描述的硬件部件的各种硬件和软件部件182。
在所示的实施方案中,网络应用程序120可包括本地渲染器或渲染引擎122。在各种实施方案中,这个本地渲染器122可被配置来将网页142或其他形式的机器和/或人类可读数据当作输入,并且产生一组呈现信息144作为输出。在这种实施方案中,渲染的呈现信息144可包括可由显示器、扩音器或其他呈现硬件部件118(或其驱动器或固件)接收的一个或多个数据结构或信号(例如,视频信号、音频信号等)。显示器118随后可使用这个呈现信息144来向用户190呈现感官输出。
在一个实施方案中,所述一组呈现信息144可包括一系列红绿蓝(RGB)值阵列,其中每个RGB值是显示器118的像素在给定时间点将产生的颜色,并且其中每个阵列包括显示器118的每个像素针对给定时间点的颜色信息。在另一个实施方案中,所述一组呈现信息144可包括一系列值,其中每个值等于扬声器在给定时间点将产生或输出的音量幅值。在一些实施方案中,所述一组呈现信息144可包括编码值,所述编码值在被解码(例如,通过驱动器、操作系统或固件等)时致使这种颜色值阵列、音量幅值、类似指令输出到呈现硬件部件118或188。在各种实施方案中,所述一组呈现信息144或其他组呈现信息可包括其他感官形式。
在所示的实施方案中,本地渲染器122可被配置来获取网页142所包括的信息或数据(例如,文本信息、字体信息、编码视频流、编码音频文件等)并且将那个信息转换或翻译成呈现信息144。在各种实施方案中,这可包括对视频或音频文件进行解压缩。在另一个实施方案中,这可包括对视频或音频文件进行代码转换。在另一个实施方案中,这可包括采用图形库(例如,Skia图形引擎、OpenGL(开放图形库)、Cairo等)来执行文档或网页142的布局和绘制。
在各种实施方案中,可基于与最终呈现装置118相关联的一个或多个约束来执行这种渲染。例如,本地显示器118可具有多种呈现特性,例如像1600x1200像素的分辨率、4:3的宽高比、每像素32凹点的颜色深度等。在这种实施方案中,可以在考虑这些呈现特性的情况下执行网页142的渲染。例如,渲染器可使具有16:9的固有或原始宽高比的视频(例如,数字视频光盘(DVD)电影文件等)加框。渲染器122可使具有720x405像素的固有或原始分辨率的视频的比例放大以便利用更高的呈现分辨率。相反地,如果本地扬声器118仅仅是立体的,并且原始音频源包括6(也称为5.1)通道音频信号,那么渲染器122可将原始音频信号重新混合或减少成立体声。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
一旦本地渲染器122已至少部分地基于目标(在这种情况下为本地)呈现硬件118的物理特性或呈现特性产生了渲染的呈现信息144,就可将呈现信息144传输或输入到本地呈现硬件118。在各种实施方案中,本地呈现硬件118随后可向用户190呈现渲染的网页142(通过呈现信息144)。在一些实施方案中,向用户190的呈现可与其他远程呈现装置104同步。
相反地,在所示的实施方案中,网络应用程序120可包括远程渲染器或渲染引擎124。在各种实施方案中,这个远程渲染器124可被配置来将网页142或其他形式的机器和/或人类可读数据当作输入,并且产生一组呈现信息146作为输出。在这种实施方案中,渲染的呈现信息146如同本地呈现信息144可包括可由显示器、扩音器或其他呈现硬件部件188(或其驱动器或固件)接收的一个或多个数据结构或信号(例如,视频信号、音频信号等)。显示器188随后可使用这个呈现信息146来向呈现装置104的用户191呈现感官输出。
在这种实施方案中,类似于本地渲染器122,远程渲染器124可基于网页142(或其部分)产生远程呈现信息146。然而,远程渲染器124可基于远程呈现硬件188的一个或多个呈现特性来渲染或产生远程呈现信息146。
例如,原始或源视频电影文件(例如,DVD文件等)可包括720x405像素的分辨率、16:9的宽高比、每秒25帧(fps)的帧速率以及5.1音频轨道或信号。然而,这次,远程显示器和音频呈现硬件188可支持或包括以下组的呈现特性:1280x720像素的分辨率、16:9的宽高比、29.97fps的帧速率以及可用的5.1环绕声(也称为5个传统扬声器和一个亚低音扬声器)。
在这种实施方案中,远程渲染器124可以或可以不使视频的比例放大,并且可以不更改(除基本渲染之外)音频部分(因为原始源视频和呈现硬件两者均支持5.1音频通道)。然而,在各种实施方案中,远程渲染器124可不添加框,这是因为原始视频或网页142的宽高比与远程呈现硬件188的宽高比相同。这与本地渲染器122进行了比较,所述本地渲染器122针对不同的呈现装置118渲染视频并且确实添加了框。同样地,远程渲染器124可被配置来将视频文件从固有或原始25fps重新同步到呈现装置188所支持的29.97fps。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在各种实施方案中,可考虑其他呈现特性或使用情境。例如,显示器118的膝上型计算机屏幕距离用户190通常仅为几英尺。相反地,电视机的用户191可坐在距离显示器188数十英尺处。在各种实施方案中,远程渲染器122和本地渲染器124在渲染网页142时可将这些使用情境考虑在内。例如,远程渲染器124可使文本更大(例如,增加字体大小等)或更清楚(例如,改变字体、改变显示颜色等),因为将从与本地渲染器122可能读取文本的位置(因为将从较短的距离处读取文本)相比更远的位置处读取文本。在各种实施方案中,可考虑其他非数学、非数值或定性呈现特性或它们可影响呈现信息144和146的产生。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
如上所述,一旦远程渲染器124已产生渲染的远程呈现信息146,远程呈现信息146就可被传输到呈现装置104。如以下参考图3描述的,在各种实施方案中,可将远程呈现信息146格式化或封装到传输协议中。
在各种实施方案中,呈现装置104可包括被配置来接收远程呈现信息146的应用程序、驱动器或固件180。在各种实施方案中,如果远程呈现信息146包括这种格式化,那么应用程序、驱动器或固件180可被配置来从所接收的远程呈现信息146移除封装或格式化。在一些实施方案中,应用程序、驱动器或固件180可被配置来将远程呈现信息146提供到呈现硬件或显示器188以便呈现给用户191。
图2是根据所公开的主题的系统200的示例性实施方案的框图。在所示的实施方案中,系统200可包括本地或处理装置或显示器202和远程或呈现显示器或装置204。在各种实施方案中,系统200可由用户290控制或管理。
在所示的实施方案中,用户290希望在远程显示器204上显示图像幻灯片并且从包括本地显示器202的本地计算或处理装置控制所述幻灯片。在这种实施方案中,可在本地显示器202上显示网页的第一部分212,并且可在远程显示器204上显示或呈现网页的第二部分214。在各种实施方案中,网页的第二部分可包括多个其他网页(例如,多个图像文件等)。在一些实施方案中,网页的第二部分可包括致使显示多幅图像中的一幅图像的脚本。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在一个实施方案中,通过本地显示器202显示或呈现的第一部分212可包括允许用户290控制第二部分214的内容的用户界面(UI)。在所示的实施方案中,UI可包括后退按钮、停止按钮以及前进按钮。每个按钮可允许用户290致使显示在远程显示器204上的幻灯片分别向后移动一幅图像、结束幻灯片或向前移动一幅图像。
在各种实施方案中,一旦用户290已选择UI按钮,第一部分212就可产生命令。这个命令可由处理装置接收并且可致使第二部分214执行动作。例如,第一部分212可致使执行第二部分214的脚本函数、方法或子程序(例如,NextImage()等)。这个脚本函数可改变第二部分214的显示或呈现给用户的部分。例如,第二部分214可停止显示第一图像并且开始显示第二图像。在各种实施方案中,这可致使第二部分214被重新渲染。
如上所述,处理装置的远程渲染器或渲染引擎可渲染现已改变的第二部分214。渲染引擎可基于这个新型式的第二部分214和远程显示器204的特性产生一组新的呈现信息。这个新的或更新的呈现信息可被传输到远程显示器204。当远程显示器204向用户290呈现这个更新的呈现信息时,可能出现幻灯片已移动到下一幅图像的情况。
在各种实施方案中,处理装置可更新呈现信息并且致使远程显示器或呈现硬件204动态地更改对用户290的呈现。在各种实施方案中,可基于处理装置所接收的一个或多个命令来更改或更新网页的远程显示或呈现部分。在所示的实施方案中,命令可来自处理装置本身(例如,通过第一部分212等)。在另一个实施方案中,命令可源自远程装置204或从其传输(例如,通过电视机从TV远程控件传输到处理装置的命令等)。在又一个实施方案中,命令可源自第三或其他装置(未示出)或从其传输。
例如,多玩家游戏可包括在各种玩家装置(例如,智能手机等)上显示控件或游戏手柄、在公共可查看电视机上显示集中式游戏板、以及通过处理装置处理并渲染所有显示内容。在这种实施方案中,处理装置可接收来自玩家装置中的每一个的命令,并且更改游戏板和/或玩家游戏手柄的显示或呈现。在这种实施方案中,玩家游戏手柄和游戏板中的每一个可包括游戏网页的各种部分。另外,在一些实施方案中,处理装置可维持或包括网页的说明游戏规则和游戏机制的另外部分(可能是隐藏标签或网页)。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在所示的实施方案中,本地显示器216或第一部分212还可包括UI元素216。在各种实施方案中,UI元素216可促进远程地显示或呈现部分214的选择,和/或将使用多个远程呈现装置的UI元素的选择来呈现或显示第二部分214。在各种实施方案中,UI元素216的选择可致使显示菜单或其他UI元素。例如,在各种实施方案中,可向用户290显示可能的目标或呈现装置(本地和/或远程)的列表,并且用户290可选择他们希望用来呈现第二部分214的那一个。在另一个实施方案中,可挨着网页元素(例如,视频、图像、与HTML音频标签相关联的网页元素、Flash对象等)显示UI元素216。在这种实施方案中,选择UI元素216可致使网页元素或包括那个网页元素的网页部分被远程地呈现(例如,通过类似的呈现装置列表等)。同样地,UI元素216的第二选择可致使网页部分呈现在本地。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
图3是根据所公开的主题的系统300的示例性实施方案的框图。在各种实施方案中,系统300可包括本地或处理装置302和一个或多个远程或呈现装置304。在各种实施方案中,系统300可由用户390来操作或使用。在一个实施方案中,可采用系统300来创建图2的系统200,在所述系统200中用户在远程装置上显示幻灯片并且在本地装置上显示控制UI。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在各种实施方案中,本地或处理装置302可包括相似或类似于参考图1的处理装置102(例如,处理器、存储器、操作系统等)描述的硬件和/或软件部件的一个或多个硬件和/或软件部件(未示出)。同样地,在一个实施方案中,远程或呈现装置304可包括相似或类似于参考图1的呈现装置104(例如,处理器、存储器、操作系统等)描述的硬件和/或软件部件的一个或多个硬件和/或软件部件(未示出)。
如上所述,处理装置302可包括被配置来渲染网页(或其至少一部分)以用于本地或远程呈现的网络应用程序332。如上所述,虽然在各种实施方案中可以本地、远程、部分远程和/或部分本地的方式呈现网页342,但图3描述的剩余部分将讨论以本地和远程两种方式呈现网页342的情况,因为这允许对本地呈现机制和远程呈现机制进行解释和比较。应当理解,以下只是一个说明性的实例,所公开的主题并不限于此。
在各种实施方案中,网络应用程序332可包括被配置来从网页或其部分产生一组或多组呈现信息的渲染器310。在所示的实施方案中,网络应用程序332可包括单个渲染器310,所述单个渲染器310可被配置来将与相应呈现装置或硬件(例如,本地显示器322、远程显示器324d、远程扬声器324s等)相关联的呈现配置信息312当作输入。在各种实施方案中,网络应用程序332可包括隐藏的后备存储装置或与其相关联,所述隐藏的后备存储装置被配置来至少暂时地存储与远程呈现装置相关联的渲染的呈现信息。在一些实施方案中,这个隐藏的后备存储装置314可被配置成对负责通过本地显示器或输出端322呈现信息的图形(或其他感官呈现)硬件部件来说是隐藏的或未知的。在一些实施方案中,网络应用程序可包括被配置来格式化或封装用于传输到远程呈现装置的渲染的呈现信息344r的造型(casting)或传输接口316l。
如上所述,在一个实施方案中,网页342可包括本地呈现部分342l。本地部分342l可由渲染器310渲染。在这种实施方案中,渲染器310可加载或利用与本地显示器322相关联的一组呈现特性或信息312。渲染器310可产生随后由本地显示器322显示或呈现的本地呈现信息344l。
同样地,在一个实施方案中,网页342可包括远程呈现部分342r。这个远程部分342r可由渲染器310渲染。在这种实施方案中,渲染器310可加载或利用与远程显示器324d或远程扬声器324s相关联的一组呈现特性或信息312。
在各种实施方案中,渲染器310可从远程装置304获得或接收与呈现硬件324相关联的呈现特性312。在这种实施方案中,在被指示将网页的远程部分342r发送到呈现装置304以供显示之后,本地装置302可参与到与远程装置304的请求/响应握手或其他协议中,以便确认远程装置304是否将接受传输的呈现信息346。在这种实施方案中,在那个握手过程中,可将一组相关的呈现特性信息312组发送到处理装置302。
在另一个实施方案中,可能未将呈现特性信息312本身发送到处理装置302,而是替代地可发送允许渲染器从多组预先存储或可获得的信息312中选择一组合适的呈现特性312的标识符。例如,远程装置304可向本地装置302提供远程装置304的型号或标准标识符(例如,高清晰度电视机(HDTV)标准,如“1080p”等),远程装置大致顺应所述型号或标准标识符。
在又一个实施方案中,用户390可能预先或在远程呈现请求启动期间向本地装置302提供足够的信息以便识别一组合适的呈现特性312。例如,用户390可通过装置的类别或类型(例如,“720p顺应电视机”等)、通过一个具体的型号或一组型号组(例如,RAC电视机模型12345等)来识别远程装置304,或者将其识别为与多组预定义的呈现特性组中的一组(例如,“通用5.1通道音频接收器”等)是兼容的。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
如上所述,在各种实施方案中,渲染器310可被配置来利用与具体的远程呈现硬件(例如,硬件324d或324s等)相关联的一组所选择或所确定的呈现特性312来产生一组渲染的呈现信息344r。在各种实施方案中,其中网页的远程部分342r包括产生多个感官呈现(例如,视频和音频等)的或将由多个呈现装置(例如,LCD和扩音器等)呈现的元素或内容,渲染器310可被配置来产生多组呈现信息344r(一组用于每个呈现装置)。在这种实施方案中,可基于与每个相应的呈现硬件部件相关联的一组呈现特性312来产生每一组呈现信息344r。在另一个实施方案中,渲染器310可利用多组相关联的呈现特性312来产生包括用于多个硬件部件(例如,远程显示器324d和远程扬声器324s等)的呈现的一组组合的或共用的远程呈现信息344r。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在一些实施方案中,一旦已产生远程呈现信息344r,就可将其存储(至少暂时地)在隐藏的后备存储装置314内。在各种实施方案中,存储器的一部分可包括或不包括后备存储装置314。在一些实施方案中,这个存储器可为本地装置302的通用存储器,然而本地呈现信息344l可被存储在专门用于本地显示器322或类似呈现硬件(例如,图形卡的存储器等)的专用存储器内。在各种实施方案中,通过与本地呈现硬件322所使用或采用的存储器分离,后备存储装置314可从本地呈现硬件322中有效地隐藏。应当理解,以上只是一个说明性的实例,所公开的主题并不限于此。
在各种实施方案中,可通过造型接口316l将远程呈现信息344r传输到远程或呈现装置304。在各种实施方案中,造型接口316l可被配置来根据预定义的传输协议来重新格式化或封装远程呈现信息344r。在一些实施方案中,预定义的传输协议可包括实时通信协议。在一些实施方案中,这可包括网络实时通信(WebRTC)或大致顺应WebRTC的协议。
在另一个实施方案中,造型接口316l可被配置来根据预定义的格式来编码或压缩远程呈现信息344r。在各种实施方案中,预定义的格式可取决于接收远程装置304所支持的编码格式。在各种实施方案中,可使用或采用大致顺应VP8视频压缩格式的视频压缩格式。在另一个实施方案中,可使用或采用大致顺应H.264视频压缩格式的视频压缩格式。在又一个实施方案中,可使用或采用其他视频压缩格式(例如,Opus、H.265等)。同样地,在各种实施方案中,可采用各种视频压缩格式(例如,MPEG-2音频第三层(也称为MP3)、高级音频编码(AAC)等)。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
在各种实施方案中,一旦经过造型接口316l处理,封装的或重新格式化的呈现信息346就可被传输到呈现装置304。在所示的实施方案中,呈现装置304可包括造型接口316r。在这种实施方案中,远程造型接口316r可被配置来解封装、解码或移除所施加的格式化以便由造型接口316l传输。在各种实施方案中,一旦呈现信息344r已从封装的或重新格式化的呈现信息346恢复,就可将其传递到相应的远程显示器324d或远程扬声器324s以便呈现给用户390。
如上所述,在各种实施方案中,可在处理装置302与呈现装置304之间传达一个或多个消息或命令消息348。在一个实施方案中,这些消息348可包括用于呈现装置304的呈现配置信息312。在另一个实施方案中,消息348可指示用户390已选择通过远程显示器324d显示的一个或多个UI元素。在另一个实施方案中,消息348可指示远程装置304上的硬件变化(例如,一组耳机已插入或移除等)。在又一个实施方案中,消息348可包括同步或更新信息。在各种实施方案中,消息348可为单向、双向或多向的。应当理解,以上只是一些说明性的实例,所公开的主题并不限于此。
图4是根据所公开的主题的技术的示例性实施方案的流程图。在各种实施方案中,技术400可由如图1、图3和/或图5的那些的系统使用或产生。此外,技术400的部分可由如图2的系统的系统使用或产生。但是,应当理解以上,只是一些说明性的实例,所公开的主题并不限于此。应当理解,所公开的主题并不限于由技术400示出的动作的排序或数量。
框402示出:在一个实施方案中,可确定网页的用于渲染以便通过远程装置的远程显示器显示的部分,如上所述。在一些实施方案中,可通过本地计算装置接收用户收入,如上所述。在这种实施方案中,确定网页的用于渲染以便通过远程显示器显示的部分可以是至少部分地基于用户输入,如上所述。在各种实施方案中,由这个框示出的动作中的一个或多个可由图1或图3的设备或系统、图1的网络应用程序120或图3的应用程序332来执行,如上所述。
框404示出:在一个实施方案中,可通过基于远程装置的至少一个特性渲染网页的所述部分来产生渲染的呈现信息,如上所述。在一些实施方案中,产生渲染的呈现信息可包括选择与远程显示器相关联的一组呈现特性信息,以及基于与远程显示器相关联的所述一组呈现特性信息来渲染网页的所述部分,如上所述。在各种实施方案中,网页的用于渲染以便显示的部分可包括音频部分,并且产生渲染的呈现信息还可包括基于远程装置的音频部件的至少一个特性产生音频信号,如上所述。在这种实施方案中,确定网页的用于渲染以便通过远程显示器显示的部分可以是至少部分地基于用户输入,如上所述。在各种实施方案中,由这个框示出的动作中的一个或多个可由图1或图3的设备或系统、图1的远程渲染器124或图3的渲染器310来执行,如上所述。
框406示出:在一个实施方案中,可将渲染的呈现信息传输到远程装置,如上所述。在各种实施方案中,传输可包括根据实时通信协议来重新格式化渲染的呈现信息,如上所述。在一些这样的实施方案中,实时通信协议可大致顺应网络实时通信(WebRTC),如上所述。在各种实施方案中,由这个框示出的动作中的一个或多个可由图1或图3的设备或系统、图1的网络应用程序120来执行,如上所述。
框412示出:在一个实施方案中,可确定或识别网页的用于渲染以便通过本地计算装置的本地显示器显示的第二部分,如上所述。在一些实施方案中,网页的用于渲染以便通过本地显示器显示的第二部分可包括网页的用于渲染以便通过远程显示器至少显示的部分,如上所述。在各种实施方案中,由这个框示出的动作中的一个或多个可由图1或图3的设备或系统、图1的网络应用程序120或图3的应用程序332来执行,如上所述。
框414示出:在一个实施方案中,可通过基于本地显示器的至少一个特性渲染网页的第二部分来产生第二渲染的呈现信息,如上所述。在各种实施方案中,由这个框示出的动作中的一个或多个可由图1或图3的设备或系统、图1的本地渲染器122或图3的渲染器310来执行,如上所述。
框416示出:在一个实施方案中,第二渲染的呈现信息可通过本地显示器来显示或呈现,如上所述。在各种实施方案中,由这个框示出的动作中的一个或多个可由图1或图3的设备或系统、图1的网络应用程序120来执行,如上所述。
图5示出可与本文描述的技术一起使用的通用计算机装置500和通用移动计算机装置550的实例。计算装置500旨在表示各种形式的数字计算机,如膝上型计算机、桌上型计算机、工作站、个人数字助理、服务器、刀片式服务器、主机和其他适当的计算机。计算装置550旨在表示各种形式的移动装置,如个人数字助理、蜂窝电话、智能手机和其他类似的计算装置。本文示出的部件、其连接和关系以及其功能意图仅为示例性的,而不意图限制本文档中所描述和/或要求的本发明的实现方案。
计算装置500包括处理器502、存储器504、存储装置506、连接到存储器504和高速扩展端口510的高速接口508,以及连接到低速总线514和存储装置506的低速接口512。使用各种总线将部件502、504、506、508、510以及512中的每一个相互连接起来,并且可将其安装在共用的主板上或者视情况以其他方式来安装。处理器502可处理用于在计算装置500内执行的指令(包括存储在存储器504中或存储装置506上的指令),以便在外部输入/输出装置(如联接到高速接口508的显示器516)上显示用于GUI的图形信息。在其他实现方案中,可视情况使用多个处理器和/或多条总线以及多个存储器和多种类型的存储器。另外,多个计算装置500可以连接起来,其中每个装置提供必要操作的部分(例如,作为服务器组、一组刀片式服务器或多处理器系统)。
存储器504将信息存储在计算装置500内。在一个实现方案中,存储器504是一个或多个易失性存储单元。在另一个实现方案中,存储器504是一个或多个非易失性存储单元。存储器504还可以是另一形式的计算机可读介质,如磁盘或光盘。
存储装置506能够为计算装置500提供大容量存储。在一个实现方案中,存储装置506可以是或者包含计算机可读介质,如软盘装置、硬盘装置、光盘装置,或磁带装置、快闪存储器或其他类似的固态存储装置或者装置阵列,包括存储区域网络或其他配置中的装置。计算机程序产品可有形地体现在信息载体中。计算机程序产品还可包括指令,所述指令在执行时完成一种或多种方法,如以上描述的那些。信息载体是计算机可读介质或机器可读介质,如存储器504、存储装置506或处理器502上的存储器。
高速控制器508管理计算装置500的带宽密集型操作,而低速控制器512管理较低带宽密集型操作。这种功能分配仅仅是示例性的。在一个实现方案中,高速控制器508联接到存储器504、显示器516(例如,通过图形处理器或加速器),并且联接到可接受各种扩展卡(未示出)的高速扩展端口510。在所述实现方案中,低速控制器512联接到存储装置506和低速扩展端口514。可包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可联接到一个或多个输入/输出装置(如键盘、指向装置、扫描仪),或者例如通过网络适配器联接到如交换机或路由器的网络装置。
计算装置500可以如图所示的多种不同形式来实现。例如,计算装置500可实现为标准服务器520,或多次在一组此类服务器中实现。计算装置500还可实现为架式服务器系统524的部分。另外,计算装置500可在如膝上型计算机522的个人计算机中实现。或者,来自计算装置500的部件可与如装置550的移动装置(未示出)中的其他部件组合。此类装置中的每一个可包括计算装置500、550中的一个或多个,并且整个系统可由彼此通信的多个计算装置500、550组成。
计算装置550包括处理器552、存储器564、如显示器554的输入/输出装置、通信接口566和收发器568,以及其他部件。装置550可还具有如微型硬盘或其他装置的存储装置,以便提供另外的存储。使用各种总线将部件550、552、564、554、566以及568中的每一个相互连接起来,并且可将所述部件中的若干个安装在共用的主板上或者视情况以其他方式安装。
处理器552可执行计算装置550内的指令,所述指令包括存储在存储器564中的指令。处理器可实施为包括分开的多个模拟和数字处理器的芯片的芯片组。处理器可提供例如对装置550的其他部件的协调,如用户界面控制、装置550所运行的应用程序和装置550所进行的无线通信。
处理器552可通过联接到显示器554的控制接口558和显示接口556与用户通信。显示器554可以是例如TFTLCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器,或者其他适当的显示技术。显示接口556可包括用于驱动显示器554来向用户呈现图形和其他信息的适当电路。控制接口558可从用户接收命令并且转换所述命令以便提交给处理器552。另外,可提供与处理器552通信的外部接口562,以使装置550能够与其他装置进行邻近区域通信。外部接口562可例如在一些实现方案中提供有线通信,或在另其他实现方案中提供无线通信,并且也可使用多个接口。
存储器564将信息存储在计算装置550内。存储器564可实现为一个或多个计算机可读介质、一个或多个易失性存储单元或一个或多个非易失性存储单元中的一个或多个。还可提供扩展存储器574并且通过扩展接口572将其连接到装置550,所述扩展接口572可包括例如SIMM(单列直插式存储模块)卡接口。这种扩展存储器574可为装置550提供额外的存储空间,或者还可存储用于装置550的应用程序或其他信息。具体地说,扩展存储器574可包括用于执行或补充上述过程的指令,并且还可包括安全信息。因此,例如,扩展存储器574可被提供为用于装置550的安全模块,并且可利用允许安全使用装置550的指令进行编程。另外,可通过SIMM卡提供安全应用程序以及另外的信息,如以无法被黑客攻击的方式将识别信息放在SIMM卡上。
存储器可包括例如快闪存储器和/或NVRAM存储器,如以下所讨论的。在一个实现方案中,计算机程序产品有形地体现在信息载体中。计算机程序产品包括指令,所述指令在被执行时执行一种或多种方法,如以上描述的那些。信息载体是计算机或机器可读介质,如存储器564、扩展存储器574或处理器552上的存储器,所述介质可通过例如收发器568或外部接口562进行接收。
装置550可通过通信接口566进行无线通信,所述通信接口566必要时可包括数字信号处理电路。通信接口566可在各种模式或协议下提供通信,如GSM语音呼叫、SMS、EMS或MMS消息传送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等。这种通信例如可通过射频收发器568来进行。另外,可使用如蓝牙、WiFi或其他这种收发器(未示出)来进行短途通信。另外,GPS(全球定位系统)接收器模块570可向装置550提供另外的与导航和定位相关的无线数据,所述无线数据可由在装置550上运行的应用程序视情况使用。
装置550还可使用音频编解码器560以听得见的方式进行通信,所述音频编解码器560可从用户接收口头信息并将其转换为可用的数字信息。音频编解码器560同样可为用户产生听得见的声音,如通过例如装置550的听筒中的扬声器。这种声音可包括来自语音电话呼叫的声音,可包括记录的声音(例如,语音消息、音乐文件等)并且还可包括在装置550上操作的应用程序所产生的声音。
计算装置550可以如图所示的多种不同形式来实现。例如,计算装置550可实现为蜂窝电话580。计算装置550还可被实现为智能手机582、个人数字助理或者其他类似的移动装置的部分。
本文描述的系统和技术的各种实现方案可以用数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实现方案可包括一个或多个计算机程序中的实现方案,所述计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程系统可以是专用或通用的,其被联接以便从存储系统、至少一个输入装置以及至少一个输出装置接收数据和指令并向其传输数据和指令。
这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以高级程序语言和/或面向对象的编程语言,和/或以汇编语言/机器语言来实现。如本文使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的相互作用,可在计算机上实现本文描述的系统和技术,所述计算机具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可借以向计算机提供输入的键盘和指向装置(例如,鼠标或跟踪球)。也可使用其他种类的装置来提供与用户的相互作用;例如,提供给用户的反馈可为任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可以任何形式接收,包括声音、语言或触觉输入。
可在计算系统中实现本文描述的系统和技术,所述计算系统包括后端部件(例如,作为数据服务器),或包括中间件部件(例如,应用程序服务器),或包括前端部件(例如,具有用户可通过其与本文描述的系统和技术的实现方案进行相互作用的图形用户界面或网络浏览器的客户端计算机),或这种后端、中间件或前端部件的任何组合。系统的部件可通过任何数字数据通信形式或介质(例如,通信网络)而相互连接起来。通信网络的实例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行相互作用。客户端与服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生。
已描述了多个实施方案。然而,应当理解的是,在不背离本发明的精神和范围的情况下,可进行各种修改。
另外,图中所描绘的逻辑流程并不要求以所示的特定顺序或连续顺序来达到期望的结果。另外,可提供其他步骤或可从所描述的流程中删除步骤,并且可将其他部件添加到所描述的系统或从其中移除。因此,其他实施方案也在以下权利要求书的范围内。

Claims (20)

1.一种方法,其包括:
通过本地计算装置的处理器来确定网页的用于渲染以便通过远程装置的远程显示器显示的部分;
通过基于所述远程装置的至少一个特性渲染所述网页的所述部分来产生渲染的呈现信息;以及
将所述渲染的呈现信息传输到所述远程装置。
2.如权利要求1所述的方法,其中所述产生所述渲染的呈现信息包括:
选择与所述远程显示器相关联的一组呈现特性信息;以及
基于与所述远程显示器相关联的所述一组呈现特性信息来渲染所述网页的所述部分。
3.如权利要求1至2中任一项所述的方法,其中传输包括:
根据实时通信协议来重新格式化所述渲染的呈现信息。
4.如权利要求1至3中任一项所述的方法,其中所述实时通信协议大致顺应网络实时通信(WebRTC)。
5.如权利要求1至4中任一项所述的方法,其中所述网页的用于渲染以便显示的所述部分包括音频部分;并且
其中产生渲染的呈现信息包括基于所述远程装置的音频部件的至少一个特性产生音频信号。
6.如权利要求1至5中任一项所述的方法,其还包括:
确定所述网页的用于渲染以便通过所述本地计算装置的本地显示器显示的第二部分;
通过基于所述本地显示器的至少一个特性渲染所述网页的所述第二部分来产生第二渲染的呈现信息;以及
通过所述本地显示器显示所述第二渲染的呈现信息。
7.如权利要求1至6中任一项所述的方法,其中通过所述本地显示器显示所述第二渲染的呈现信息包括:
使所述显示所述第二渲染的呈现信息与所述渲染的呈现信息传输到所述远程装置同步进行。
8.如权利要求1至7中任一项所述的方法,其中所述网页的用于渲染以便通过所述本地显示器显示的所述第二部分包括所述网页的用于渲染以便通过所述远程显示器至少显示的所述部分。
9.如权利要求1至8中任一项所述的方法,其还包括:
通过所述本地计算装置接收用户输入;并且
其中确定所述网页的用于渲染以便通过所述远程显示器显示的所述部分是至少部分地基于所述用户输入。
10.一种设备,其包括:
处理器,所述处理器被配置来:
确定网页的用于渲染以便通过远程装置的远程显示器显示的部分,并且
通过基于所述远程装置的至少一个特性渲染所述网页的所述部分来产生渲染的呈现信息;以及
网络接口,所述网络接口被配置来将所述渲染的呈现信息传输到所述远程装置。
11.如权利要求10所述的设备,其中所述处理器被配置来:
选择与所述远程显示器相关联的一组呈现特性信息;并且
基于与所述远程显示器相关联的所述一组呈现特性信息来渲染所述网页的所述部分。
12.如权利要求10至11中任一项所述的设备,其中所述处理器被配置来:
根据实时通信协议重新格式化所述渲染的呈现信息。
13.如权利要求10至12中任一项所述的设备,其中所述实时通信协议大致顺应网络实时通信(WebRTC)。
14.如权利要求10至13中任一项所述的设备,其中所述网页的用于渲染以便显示的所述至少所述部分包括音频部分;并且
其中所述处理器被配置来基于所述远程装置的音频部件的至少一个特性产生音频信号。
15.如权利要求10至14中任一项所述的设备,其中所述处理器被配置来:
确定所述网页的用于渲染以便通过所述设备的本地监视器显示的第二部分,并且
通过基于所述本地监视器的至少一个特性渲染所述网页的所述第二部分来产生第二渲染的呈现信息;并且
所述设备还包括本地监视器,所述本地监视器被配置来显示所述第二渲染的呈现信息。
16.如权利要求10至15中任一项所述的设备,其中所述处理器被配置来:
使所述显示所述第二渲染的呈现信息与所述渲染的呈现信息传输到所述远程装置同步进行。
17.如权利要求10至16中任一项所述的设备,其中所述网页的用于渲染以便通过所述本地监视器显示的所述第二部分包括所述网页的用于渲染以便通过所述远程显示器至少显示的所述部分。
18.如权利要求10至17中任一项所述的设备,其中所述处理器被配置来:
通过所述设备接收用户输入;并且
至少部分地基于所述用户输入确定所述网页的用于渲染以便通过所述远程显示器显示的所述部分。
19.一种有形地体现的计算机可读介质,其包括机器可执行程序的可执行代码,所述代码在执行时被配置来致使设备:
通过所述设备的处理器来确定网页的用于渲染以便通过远程设备的远程呈现硬件部件呈现的部分;
通过基于所述远程设备的至少一个特性渲染所述网页的所述部分来产生渲染的呈现信息;并且
将所述渲染的呈现信息传输到所述远程设备。
20.如权利要求19所述的计算机可读介质,其中所述机器可执行程序在执行时被配置来致使所述设备:
选择与所述远程呈现硬件部件相关联的一组呈现特性信息;并且
基于与所述远程设备相关联的所述一组呈现特性信息来渲染所述网页的所述部分。
CN201480013367.5A 2013-03-15 2014-02-27 用于多屏幕应用程序的屏幕录制的方法、设备和计算机可读介质 Active CN105518614B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/843,693 US9836437B2 (en) 2013-03-15 2013-03-15 Screencasting for multi-screen applications
US13/843,693 2013-03-15
PCT/US2014/018979 WO2014149492A1 (en) 2013-03-15 2014-02-27 Screencasting for multi-screen applications

Publications (2)

Publication Number Publication Date
CN105518614A true CN105518614A (zh) 2016-04-20
CN105518614B CN105518614B (zh) 2019-05-31

Family

ID=50349858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480013367.5A Active CN105518614B (zh) 2013-03-15 2014-02-27 用于多屏幕应用程序的屏幕录制的方法、设备和计算机可读介质

Country Status (5)

Country Link
US (1) US9836437B2 (zh)
EP (1) EP2972759A1 (zh)
KR (1) KR102210369B1 (zh)
CN (1) CN105518614B (zh)
WO (1) WO2014149492A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055239A (zh) * 2016-06-02 2016-10-26 北京金山安全软件有限公司 录屏方法及装置
CN107426606A (zh) * 2017-06-26 2017-12-01 联想(北京)有限公司 录制屏幕的方法、装置、电子设备和系统
TWI629653B (zh) * 2016-05-16 2018-07-11 盧舜年 匯流視訊與商務程序之單頁購物系統及其方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095663B2 (en) 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US9836437B2 (en) 2013-03-15 2017-12-05 Google Llc Screencasting for multi-screen applications
US20150006288A1 (en) * 2013-06-29 2015-01-01 Ten Farms, Inc. Online advertising integration management and responsive presentation
US9514136B2 (en) * 2013-10-23 2016-12-06 Verizon Patent And Licensing Inc. Cloud based management for multiple content markers
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US10042521B1 (en) 2014-05-22 2018-08-07 Amazon Technologies, Inc. Emulation of control resources for use with converted content pages
US9922007B1 (en) 2014-05-22 2018-03-20 Amazon Technologies, Inc. Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer
US9720888B1 (en) 2014-05-22 2017-08-01 Amazon Technologies, Inc. Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
US9454515B1 (en) * 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence
US9589543B2 (en) 2015-03-18 2017-03-07 Intel Corporation Static frame image quality improvement for sink displays
US9532099B2 (en) 2015-03-24 2016-12-27 Intel Corporation Distributed media stream synchronization control
US10565287B2 (en) * 2016-06-17 2020-02-18 International Business Machines Corporation Web content layout engine instance sharing across mobile devices
US9971826B1 (en) 2016-09-14 2018-05-15 SyncRTC Inc. Methods and apparatus for a distributed shared memory for device synchronization
KR20180060328A (ko) 2016-11-28 2018-06-07 삼성전자주식회사 멀티 모달 입력을 처리하는 전자 장치, 멀티 모달 입력을 처리하는 방법 및 멀티 모달 입력을 처리하는 서버
US11457483B2 (en) 2020-03-30 2022-09-27 Citrix Systems, Inc. Managing connections between a user device and peripheral devices
CN115373778A (zh) * 2021-05-19 2022-11-22 华为技术有限公司 投屏方法及相关装置
US11513757B1 (en) * 2021-06-04 2022-11-29 Citrix Systems, Inc. Display screen casting to target device using casting extension

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897671A (zh) * 2005-12-16 2007-01-17 中国科学院长春光学精密机械与物理研究所 视频信号多显示设备同步输出接口模块
US20080094525A1 (en) * 2006-10-20 2008-04-24 Samsung Electronics Co., Ltd. Display apparatus, display system, and control method thereof
CN101727302A (zh) * 2008-10-20 2010-06-09 英业达股份有限公司 具双屏幕简报功能的手持式电子装置与其电子式简报方法
CN102547179A (zh) * 2011-12-29 2012-07-04 惠州Tcl移动通信有限公司 一种手持设备及与电视同步显示的方法
CN102572567A (zh) * 2011-12-28 2012-07-11 惠州Tcl移动通信有限公司 一种手持设备和电视机的ui界面交互系统及方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560637B1 (en) * 1998-12-02 2003-05-06 Polycom, Inc. Web-enabled presentation device and methods of use thereof
US6594773B1 (en) * 1999-11-12 2003-07-15 Microsoft Corporation Adaptive control of streaming data in a graph
US20020180727A1 (en) * 2000-11-22 2002-12-05 Guckenberger Ronald James Shadow buffer control module method and software construct for adjusting per pixel raster images attributes to screen space and projector features for digital warp, intensity transforms, color matching, soft-edge blending, and filtering for multiple projectors and laser projectors
US7346698B2 (en) * 2000-12-20 2008-03-18 G. W. Hannaway & Associates Webcasting method and system for time-based synchronization of multiple, independent media streams
US7831992B2 (en) * 2002-09-18 2010-11-09 General Instrument Corporation Method and apparatus for forwarding television channel video image snapshots to an auxiliary display device
AU2003239385A1 (en) * 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US7433915B2 (en) * 2002-08-01 2008-10-07 Xerox Corporation System and method for controlling communication
US10613817B2 (en) * 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US8290603B1 (en) * 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US20050039133A1 (en) * 2003-08-11 2005-02-17 Trevor Wells Controlling a presentation of digital content
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
JP2005244931A (ja) * 2004-01-26 2005-09-08 Seiko Epson Corp マルチ画面映像再生システム
JP4977950B2 (ja) * 2004-02-04 2012-07-18 セイコーエプソン株式会社 マルチ画面映像再生システム、映像再生方法及び表示装置
JP4059214B2 (ja) * 2004-03-04 2008-03-12 ソニー株式会社 情報再生システムの制御方法、情報再生システム、情報提供装置、および情報提供プログラム
JP4586389B2 (ja) * 2004-03-22 2010-11-24 セイコーエプソン株式会社 マルチ画面映像再生装置およびマルチ画面映像再生装置における映像再生方法
US7460126B2 (en) * 2004-08-24 2008-12-02 Silicon Graphics, Inc. Scalable method and system for streaming high-resolution media
US20060079214A1 (en) * 2004-10-12 2006-04-13 Nokia Corporation Method and apparatus for showing wireless mobile device data content on an external viewer
US20060203758A1 (en) * 2005-03-11 2006-09-14 Samsung Electronics Co., Ltd. Mobile terminal for relaying multimedia data to an external display device
US8166390B2 (en) * 2006-02-15 2012-04-24 Microsoft Corporation Figure sizing and positioning on dynamic pages
US10452756B2 (en) 2006-09-29 2019-10-22 Oath Inc. Platform for rendering content for a remote device
US8280980B2 (en) 2006-10-16 2012-10-02 The Boeing Company Methods and systems for providing a synchronous display to a plurality of remote users
JP2008211379A (ja) 2007-02-23 2008-09-11 Fujitsu Ltd 表示制御プログラムおよび携帯端末装置
JP5151211B2 (ja) * 2007-03-30 2013-02-27 ソニー株式会社 多画面同期再生システム、表示制御端末、多画面同期再生方法、及びプログラム
KR101449025B1 (ko) * 2008-03-19 2014-10-08 엘지전자 주식회사 다중-소스 스트리밍을 위한 오브젝트에 대한 정보 관리 및처리 방법 그리고 그 장치
US8850045B2 (en) * 2008-09-26 2014-09-30 Qualcomm Incorporated System and method for linking and sharing resources amongst devices
WO2010065107A1 (en) * 2008-12-04 2010-06-10 Packetvideo Corp. System and method for browsing, selecting and/or controlling rendering of media with a mobile device
US20100238188A1 (en) * 2009-03-20 2010-09-23 Sean Miceli Efficient Display of Virtual Desktops on Multiple Independent Display Devices
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
JP2011141615A (ja) 2010-01-05 2011-07-21 Fujifilm Corp webページ閲覧システム及び中継サーバ
US9472939B1 (en) * 2010-01-05 2016-10-18 Amazon Technologies, Inc. Remote display
US8554938B2 (en) * 2010-08-31 2013-10-08 Millind Mittal Web browser proxy-client video system and method
WO2012131727A1 (en) * 2011-03-31 2012-10-04 Lukup Media Pvt Ltd System and method for creating and delivering platform independent interactive applications on user devices
US9015576B2 (en) * 2011-05-16 2015-04-21 Microsoft Technology Licensing, Llc Informed partitioning of data in a markup-based document
US9247182B2 (en) * 2011-10-10 2016-01-26 Eyeview, Inc. Using cluster computing for generating personalized dynamic videos
US9721036B2 (en) * 2012-08-14 2017-08-01 Microsoft Technology Licensing, Llc Cooperative web browsing using multiple devices
US8798598B2 (en) * 2012-09-13 2014-08-05 Alain Rossmann Method and system for screencasting Smartphone video game software to online social networks
US9112975B2 (en) * 2012-11-05 2015-08-18 Genesys Telecommunications Laboratories, Inc. System and method for web-based real time communication with contact centers
US9836437B2 (en) 2013-03-15 2017-12-05 Google Llc Screencasting for multi-screen applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897671A (zh) * 2005-12-16 2007-01-17 中国科学院长春光学精密机械与物理研究所 视频信号多显示设备同步输出接口模块
US20080094525A1 (en) * 2006-10-20 2008-04-24 Samsung Electronics Co., Ltd. Display apparatus, display system, and control method thereof
CN101727302A (zh) * 2008-10-20 2010-06-09 英业达股份有限公司 具双屏幕简报功能的手持式电子装置与其电子式简报方法
CN102572567A (zh) * 2011-12-28 2012-07-11 惠州Tcl移动通信有限公司 一种手持设备和电视机的ui界面交互系统及方法
CN102547179A (zh) * 2011-12-29 2012-07-04 惠州Tcl移动通信有限公司 一种手持设备及与电视同步显示的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI629653B (zh) * 2016-05-16 2018-07-11 盧舜年 匯流視訊與商務程序之單頁購物系統及其方法
CN106055239A (zh) * 2016-06-02 2016-10-26 北京金山安全软件有限公司 录屏方法及装置
CN106055239B (zh) * 2016-06-02 2019-10-29 北京金山安全软件有限公司 录屏方法及装置
CN107426606A (zh) * 2017-06-26 2017-12-01 联想(北京)有限公司 录制屏幕的方法、装置、电子设备和系统
CN107426606B (zh) * 2017-06-26 2020-07-24 联想(北京)有限公司 录制屏幕的方法、装置、电子设备和系统

Also Published As

Publication number Publication date
KR20150134324A (ko) 2015-12-01
KR102210369B1 (ko) 2021-02-01
CN105518614B (zh) 2019-05-31
US9836437B2 (en) 2017-12-05
WO2014149492A1 (en) 2014-09-25
EP2972759A1 (en) 2016-01-20
US20140281896A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN105518614A (zh) 用于多屏幕应用程序的屏幕录制
US11875140B2 (en) Application support for network devices
US11470387B2 (en) Methods, systems, and media for remote rendering of Web content on a television device
US11425466B2 (en) Data transmission method and device
EP1771006A1 (en) Remote media source device access
KR20160019693A (ko) 사용자 단말 장치, 디스플레이 장치, 시스템 및 그 제어 방법
CN104837051A (zh) 视频播放方法及客户端
JP2023522266A (ja) マルチメディアデータ配信の方法、装置、デバイス及び媒体
CN114073098A (zh) 流媒体同步方法及显示设备
CN111107428A (zh) 一种双路媒体流数据的播放方法及显示设备
CN111212293A (zh) 一种图像处理方法及显示设备
CN111954043B (zh) 一种信息栏显示方法及显示设备
CN114518854A (zh) 一种投屏方法及其设备
CN114501087B (zh) 一种显示设备
CN113542824B (zh) 一种显示设备及应用界面的显示方法
CN113542823B (zh) 一种显示设备及应用页面的展示方法
CN112235562B (zh) 一种3d显示终端、控制器及图像处理方法
CN115190315A (zh) 一种图像解码设备、方法、显示设备和存储介质
CN114942812A (zh) 多媒体信息共享方法、装置和电子设备
CN113497962A (zh) 旋转动画的配置方法及显示设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant