CN111654753B - 一种应用程序启动方法及显示设备 - Google Patents

一种应用程序启动方法及显示设备 Download PDF

Info

Publication number
CN111654753B
CN111654753B CN202010443712.6A CN202010443712A CN111654753B CN 111654753 B CN111654753 B CN 111654753B CN 202010443712 A CN202010443712 A CN 202010443712A CN 111654753 B CN111654753 B CN 111654753B
Authority
CN
China
Prior art keywords
application
mobile terminal
target application
application program
field
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.)
Active
Application number
CN202010443712.6A
Other languages
English (en)
Other versions
CN111654753A (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.)
Vidaa Netherlands International Holdings BV
Original Assignee
Qingdao Hisense Media Network Technology Co Ltd
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 Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN202010443712.6A priority Critical patent/CN111654753B/zh
Publication of CN111654753A publication Critical patent/CN111654753A/zh
Application granted granted Critical
Publication of CN111654753B publication Critical patent/CN111654753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/4222Remote control device emulator integrated into a non-television apparatus, e.g. a PDA, media center or smart toy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种应用程序启动方法及显示设备,用以在接收到来自移动终端的HTTP报文时,准确启动该移动终端需要启动的目标应用。该显示设备包括:显示器;与所述显示器耦合的控制器,所述控制器设置有发现和启动DIAL服务服务端模块,DIAL服务端模块用于:接收来自移动终端的HTTP报文;从所述HTTP报文中解析出所述移动终端需要启动操控的目标应用;确定所述目标应用为所述移动终端合法操控的应用,则调用所述目标应用对应的目标应用模块处理所述目标应用。

Description

一种应用程序启动方法及显示设备
技术领域
本申请涉及通信技术领域,尤其涉及一种应用程序启动方法及显示设备。
背景技术
发现和启动(Discovery and Launch,DIAL)协议,主要用于使同一局域网内的DIAL客户端设备能够发现并启动DIAL服务端设备上的应用程序。这里,DIAL客户端设备通常为屏幕较小的设备,如智能手机、平板电脑等;DIAL 服务端设备通常为屏幕较大的设备,如电视等。
DIAL客户端设备基于DIAL协议发现同一局域网内的DIAL服务端设备后,为启动DIAL服务端设备上的应用程序,可向DIAL服务端设备发送应用启动指令,但目前DIAL协议中并未说明DIAL服务端设备具体如何识别应用启动指令指示启动哪一应用程序。
发明内容
本申请实施例提供一种应用程序启动方法及显示设备,用以在接收到来自移动终端的HTTP报文时,准确启动该移动终端需要启动的目标应用。
第一方面,提供一种显示设备,包括:
显示器;
与所述显示器耦合的控制器,所述控制器设置有发现和启动DIAL服务端模块,DIAL服务端模块用于:
接收来自移动终端的HTTP报文;
从所述HTTP报文中解析出所述移动终端需要启动操控的目标应用;
若确定所述目标应用为所述移动终端合法操控的应用,则调用所述目标应用对应的目标应用模块处理所述目标应用。
第二方面,提供一种应用程序启动方法,包括:
接收来自移动终端的HTTP报文;
从所述HTTP报文中解析出所述移动终端需要启动操控的目标应用;
确定所述目标应用为所述移动终端合法操控的应用,则调用所述目标应用对应的目标应用模块处理所述目标应用。
上述实施例中,显示设备能够在接收到来自移动终端的HTTP报文后,解析该HTTP报文确定该移动终端需要启动的目标应用,进而启动该目标应用;进一步的,显示设备能够确定目标应用是否为移动终端合法操控的应用,从而在目标应用是移动终端合法操控的应用的情况下,启动目标应用。
附图说明
图1A中示例性示出了显示设备200与控制装置100之间操作场景的示意图;
图1B中示例性示出了图1A中控制装置100的配置框图;
图1C中示例性示出了图1A中显示设备200的配置框图;
图1D中示例性示出了显示设备200存储器中操作***的架构配置框图。
图2A-2C中示例性示出了移动终端和显示设备基于DIAL协议的交互过程;
图3A-3C中示例性示出了应用程序启动方法流程示意图;
图4中示例性示出了DIAL服务端模块的结构示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
本申请中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
本申请的主要目的在于使DIAL服务端设备解析来自DIAL客户端设备的 HTTP请求报文所指示启动的目标应用程序,并启动该目标应用程序。这里的 DIAL服务端设备可为集成有DIAL服务端模块的显示设备,为便于理解本申请,下面首先结合图1A-图1D对显示设备和控制装置的结构、以及显示设备和控制装置之间的交互进行说明:
图1A中示例性示出了显示设备200与控制装置100之间操作场景的示意图。如图1A所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。
其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
控制装置100可以是遥控器100A,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/ 左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面 (UI)为用户提供各种控制。
示例性的,移动终端100B可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100B与显示设备200建立控制指令协议,通过操作移动终端100B 上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100A布置的实体按键的功能。也可以将移动终端100B上显示的音视频内容传输到显示设备 200上,实现同步显示功能。
显示设备200可被实施为电视,可提供广播接收电视功能以及计算机支持功能的智能网络电视功能。显示设备示例的包括,数字电视、网络电视、智能电视、互联网协议电视(IPTV)等。
显示设备200,可以是液晶显示器、有机发光显示器、投影显示设备。具体显示设备类型、尺寸大小和分辨率等不作限定。
显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子节目指南(EPG)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
图1B中示例性示出了控制装置100的配置框图。如图1B所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。
控制器110包括随机存取存储器(RAM)111、只读存储器(ROM)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。
示例性的,当检测到用户按压在遥控器100A上布置的按键的交互或触摸在遥控器100A上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。
存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。
通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144 等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。
输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备 200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150 可以包括LED接口151、产生振动的振动接口152、输出声音的声音输出接口 153和输出图像的显示器154等。例如,遥控器100A可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。
供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。形式可以为电池及相关控制电路。
图1C中示例性示出了显示设备200的硬件配置框图。如图1C所示,显示设备200中可以进一步包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输入接口285、供电电源290。
调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG 数据)。
调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。
调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。
在其他一些示例性实施例中,调谐解调器210也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240 输入至显示设备200中。
通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括WIFI模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为WIFI信号、蓝牙信号、射频信号等。
检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括图像采集器231,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。还可以包括光接收器232,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。
在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。
在其他一些示例性实施例中,检测器230,还可以包括声音采集器,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200 可以自适应环境噪声。
外部装置接口240,是提供控制器210控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG)等数据。
其中,外部装置接口240可以包括:高清多媒体接口(HDMI)端子241、复合视频消隐同步(CVBS)端子242、模拟或数字分量端子243、通用串行总线(USB)端子244、组件(Component)端子(图中未示出)、红绿蓝(RGB) 端子(图中未示出)等任一个或多个。
控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作***和各种应用程序),来控制显示设备200的工作和响应用户的操作。
如图1C所示,控制器250包括随机存取存储器(RAM)251、只读存储器(ROM)252、图形处理器253、CPU处理器254、通信接口255、以及通信总线256。其中,RAM251、ROM252以及图形处理器253、CPU处理器254 通信接口255通过通信总线256相连接。
ROM252,用于存储各种***启动指令。如在接收到开机信号时,显示设备200电源开始启动,CPU处理器254运行ROM252中的***启动指令,将存储在存储器260的操作***拷贝至RAM251中,以开始运行启动操作***。当操作***启动完成后,CPU处理器254再将存储器260中各种应用程序拷贝至RAM251中,然后,开始运行启动各种应用程序。
图形处理器253,用于产生各种图形对象的屏幕图像,如图标、图像以及操作菜单等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。
CPU处理器254,用于执行存储在存储器260中的操作***和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。
通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。
控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的GUI对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。
其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与图标相对应的程序的操作。该用于选择GUI对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等) 输入命令或者是与用户说出语音相对应的语音命令。
存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的RAM251和ROM252、或显示设备200中的存储卡。
在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250 的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种GUI、与GUI相关的各种对象及用于选择GUI对象的选择器的视觉效果图像等数据。
在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280 等的驱动程序和相关数据,从外部装置接口接收的外部数据(例如音视频数据) 或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。
在一些实施例中,存储器260具体存储用于表示操作***(OS)的软件和/ 或程序,这些软件和/或程序可包括,例如:内核、中间件、应用编程接口(API) 和/或应用程序。示例性的,内核可控制或管理***资源,以及其它程序所实施的功能(如所述中间件、API或应用程序);同时,内核可以提供接口,以允许中间件、API或应用程序访问控制器,以实现控制或管理***资源。
图1D中示例性示出了显示设备200存储器中操作***的架构配置框图。该操作***架构从上到下依次是应用层、中间件层和内核层。
应用层,***内置的应用程序以及非***级的应用程序都属于应用层,其负责与用户进行直接交互。应用层可包括多个应用程序,如NETFLIX应用程序、设置应用程序、媒体中心应用程序等。这些应用程序可被实现为Web应用,其基于WebKit引擎来执行,具体可基于HTML、层叠样式表(CSS)和JavaScript 来开发并执行。
这里,HTML,全称为超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,HTML标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取HTML文档,解释文档内标签的内容,并以网页的形式显示出来。
CSS,全称为层叠样式表(Cascading Style Sheets),是一种用来表现HTML 文件样式的计算机语言,可以用来定义样式结构,如字体、颜色、位置等的语言。CSS样式可以直接存储与HTML网页或者单独的样式文件中,实现对网页中样式的控制。
JavaScript,是一种应用于Web网页编程的语言,可以***HTML页面并由浏览器解释执行。其中Web应用的交互逻辑都是通过JavaScript实现。 JavaScript可以通过浏览器,封装JavaScript扩展接口,实现与内核层的通信,
中间件层,可以提供一些标准化的接口,以支持各种环境和***的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(MHEG),还可以实现为与外部设备通信相关的中间件的DLNA中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。
内核层,提供核心***服务,例如:文件管理、内存管理、进程管理、网络管理、***安全权限管理等服务。内核层可以被实现为基于各种操作***的内核,例如,基于Linux操作***的内核。
内核层也同时提供***软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为WIFI模块提供WiFi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(PM)模块提供电源管理驱动等。
用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100A可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100A可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户接口265通过GUI接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在GUI中的位置以选择不同的对象或项目的用户输入命令。
或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口 265通过传感器识别出声音或手势,来接收用户输入命令。
视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。
示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入 MPEG-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60Hz视频的帧率转换为120Hz或240Hz的帧率,通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB 数据信号。
显示器275,用于接收源自视频处理器270输出的图像信号,进行显示视频、图像以及菜单操控界面。例如,显示器可以显示来自调谐解调器210接收的广播信号中的视频,也可以显示来自通信器220或外部装置接口240输入的视频,还可以显示在存储器260中存储的图像。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面UI。
以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。
示例性的,音频处理器280可以支持各种音频格式。例如MPEG-2、 MPEG-4、高级音频编码(AAC)、高效AAC(HE-AAC)等格式。
音频输出接口285,用于接收源自音频处理器280输出的音频信号。例如,音频输出接口可以输出经由调谐解调器210接收的广播信号中的音频,也可以输出经由通信器220或外部装置接口240输入的音频,还可以输出在存储器260 中存储的音频。音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如耳机输出端子。
在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。
供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。
基于DIAL协议,同一局域网内的DIAL客户端设备上的应用程序可以发现并启动DIAL服务端设备上的相同应用程序。以DIAL客户端设备上的应用程序是应用程序A为例,则应用程序A可以发现同一局域网内的DIAL服务端设备,并在该DIAL服务端设备上也安装有应用程序A的情况下,启动DIAL 服务端设备上的应用程序A。
在一个实施例中,这里的DIAL客户端设备为集成有DIAL客户端模块的屏幕较小的设备,如集成有DIAL客户端模块的智能手机、平板电脑等移动终端;DIAL服务端设备为集成有DIAL服务端模块的屏幕较大的设备,如集成有DIAL服务端模块的智能电视等显示设备。
为便于理解,下文以DIAL客户端设备为集成有DIAL客户端模块的移动终端、DIAL服务端设备为集成有DIAL服务端模块的显示设备进行描述。在实际应用时,结合上述图1A~图1D所示的控制装置与显示设备的配置框图来说,移动终端100B可与显示设备200进行交互。
在一个例子中,同一局域网下的移动终端和显示设备基于DIAL协议的交互过程可包括两个阶段:设备查找阶段和应用程序查询/启动/停止阶段。图 2A-2C中示例性示出了移动终端和显示设备基于DIAL协议的交互过程,下面结合图2A-2C对这两个阶段分别进行描述:
1、设备查找阶段:
在设备查找阶段,在一个例子中,移动终端可在局域网内查找具有DIAL 服务端模块的显示设备,并获取查找到的显示设备的设备信息,如名称、型号、 MAC地址、IP地址、通信端口等。
图2A示例性示出了移动终端和显示设备在设备查找阶段的交互过程,如图2A所示,在设备查找阶段,同一局域网内的移动终端与显示设备的交互过程可包括如下步骤:
步骤a1,移动终端向所在局域网内的其他设备发送搜索指令 (M-SEARCH)。
在一个实施例中,移动终端可向指定多播地址端口发送M-SEARCH,以使M-SEARCH可以被发送至局域网内的其他设备。
步骤a2,响应于上述移动终端发送的M-SEARCH,显示设备向该移动终端发送M-SEARCH响应。
在一个实施例中,M-SEARCH响应可包含显示设备的名称、MAC地址等。其中,显示设备的名称用于使移动终端区分该显示设备与可能存在的其他显示设备,该名称可由用户设置也可按照预设规则设置;MAC地址用于使移动终端基于该MAC地址唤醒待机或休眠模式下的显示设备,具体的,若显示设备处于待机或休眠模式,显示设备的网卡仍处于可以接收数据包的通电状态,由此移动终端可基于该MAC地址,采用WOW(Wake on WLAN,无线局域网唤醒)或者,WOL(Wake on LAN,局域网唤醒)方法唤醒显示设备。更具体的,移动终端可基于获取到的MAC地址向显示设备发送唤醒数据包(或称为幻数据包),显示设备的网卡在接收到唤醒数据包后唤醒显示设备。
步骤a3,移动终端基于接收到的来自上述显示设备的M-SEARCH响应,向上述显示设备发送设备描述信息请求。
接收到M-SEARCH响应说明当前局域网内存在集成有DIAL服务端模块的设备,在一个实施例中,为便于后续与该设备上的应用程序进行交互,移动终端需要获取该设备的更多设备信息,如:IP地址、通信端口、设备的型号等。因此,在接收到来自显示设备的M-SEARCH响应后,移动终端可向该显示设备发送设备描述信息请求,以获取该显示设备的指定设备信息。
步骤a4,响应于来自移动终端的设备描述信息请求,显示设备向该移动终端发送携带有指定设备信息的设备描述信息响应,这里的指定设备信息可包括 IP地址、通信端口等信息。
在一个实施例中,移动终端在接收到来自显示设备的设备描述信息响应时,可记录该设备信息响应携带的该显示设备的设备信息,以便后续基于该设备信息与该显示设备上的应用程序进行交互。
至此,完成对移动终端和显示设备在设备查找阶段中的交互过程的描述。上述步骤a1~a4中,移动终端与显示设备的信息交互,如M-SEARCH的发送与接收,可通过移动终端中的DIAL客户端模块和显示设备中的DIAL服务端模块进行。在一个实施例中,移动终端接收到来自显示设备的设备描述信息响应后,进入下一阶段。
2、应用程序查询/启动/退出阶段
本阶段中,移动终端可启动在上一阶段中查找到的显示设备上的目标应用程序,并控制该目标应用程序执行播放媒体文件等操作,图2B示例性示出了这一阶段中移动终端和显示设备的交互过程,如图2B所示,该过程可包括:
步骤b1,移动终端向显示设备发送应用状态获取请求以获取显示设备中目标应用程序的当前状态。
具体的,可由移动终端中的DIAL客户端模块向显示设备发送应用状态获取请求,显示设备通过DIAL服务端模块接收该应用状态获取请求。进一步的,显示设备的DIAL服务端模块在接收到该应用状态获取请求后,可向显示设备的***模块请求获取目标应用程序的当前状态,并将***模块回复的目标应用程序的当前状态发送至移动终端。
上述当前状态可包括stopped状态(未启动状态)、hidden状态(后台运行状态)、running状态(前台运行状态)。
在一个实施例中,若显示设备中并未安装目标应用程序,则显示设备向移动终端返回请求失败这一请求结果。
通过本步骤b1,移动终端可以确定显示设备中是否存在目标应用程序,以及目标应用程序在显示设备中的当前状态。
步骤b2,移动终端向显示设备发送应用启动指令以启动目标应用程序。
在一个实施例中,这里的应用启动指令通过HTTP请求报文实现。图2C 中示例性示出了步骤b2中显示设备与移动终端间的交互示意图。如图2C所示,移动终端***模块中的任一应用程序通过DIAL客户端模块向显示设备发送应用启动指令,显示设备中的DIAL服务端模块在接收到应用启动指令后,与显示设备的***模块进行通信,以使***模块启动目标应用程序。进一步的,启动目标应用程序后,显示设备可将启动结果发送至移动终端。
作为一个实施例,若目标应用程序处于stopped状态或hidden状态,则移动终端可向显示设备发送应用启动指令以启动目标应用程序,使目标应用程序切换为running状态;若目标应用程序处于running状态,则移动终端无需向显示设备发送应用启动指令,可直接向该目标应用程序推送信息以控制目标应用程序执行相应操作,例如,移动终端可向用于播放媒体文件的目标应用程序推送一媒体文件,以使目标应用程序播放该推送的媒体文件。这里的媒体文件可包括视频、音频、图像等。
在另一个实施例中,移动终端可直接向显示设备发送应用启动指令,若目标应用程序处于running状态,则显示设备无需对该目标应用程序执行启动操作。进一步的,该应用启动指令可包含控制目标应用程序执行相应操作的推送信息。显示设备在接收到来自移动终端的推送信息后,显示设备若检查该目标应用程序为stopped状态或hidden状态,则启动该目标应用程序并使目标应用程序根据来自移动终端的推送信息执行相应操作;若该目标应用程序已经处于 running状态,则直接使目标应用程序根据来自移动终端的推送信息执行相应操作。
举一个简单的例子,若移动终端和显示设备中分别安装有与媒体播放相关的相同指定应用程序,则移动终端上的该指定应用程序可向显示设备推送该指定应用程序可播放的媒体文件,以通过显示设备上的该指定应用程序播放该媒体文件。
本步骤b2具体如何实现,在后文结合本申请提供的应用程序启动方法举例描述,在此暂不赘述。
步骤b3,当移动终端不再需要与显示设备中的应用程序进行交互时,向显示设备发送应用退出指令以退出目标应用程序。
在一个实施例中,这里的退出目标应用程序指终止目标应用程序的运行或使目标应用程序转为后台运行。具体的,显示设备中的DIAL服务端模块在接收到来自移动终端的应用退出指令后,与显示设备的***模块进行通信,以使***模块终止目标应用程序的运行,或者将目标应用程序转为后台运行。进一步的,在成功退出目标应用程序后,显示设备可通过DIAL服务端模块将这一退出结果发送至移动终端。
至此,完成对应用程序查询/启动/退出阶段中移动终端与显示设备的交互过程的描述。
对于在上述应用程序查询/启动/退出阶段中,显示设备在接收到应用启动指令后,如何确定该应用启动指令指示启动哪一应用程序,DIAL协议中并未给出具体说明。为此,本申请提供一种应用程序启动方法,以使显示设备能够解析接收到的来自移动终端的应用启动指令,从而准确启动该应用启动指令所指示启动的目标应用程序。
图3A-3C中示例性示出了应用程序启动方法流程示意图。在一个例子中,该方法可应用于集成有DIAL服务端模块的显示设备,显示设备的结构可参考图1C所示,具体的,DIAL服务端模块设置在显示设备的控制器中。结合图 3A来说,该方法包括如下步骤:
步骤S41,DIAL服务端模块接收来自移动终端的HTTP报文。
在一个例子中,本步骤S41中来自移动终端的HTTP报文包括HTTP请求报文。为便于理解本步骤S41及后续步骤,首先对HTTP请求报文的结构进行简要描述。图3B示例性示出了HTTP请求报文的结构,如图3B所示,该结构包括:
请求行51:通常包含三个字段:请求方法、URL(Uniform Resource Locator, 统一资源定位符)和协议版本。
其中,请求方法指示对目标资源执行的操作类型,可包括GET(获取)、 POST(推送)、DELETE(删除)等多种。作为一个实施例,这里的GET请求方法用于向服务端请求获取URL指示的资源,POST请求方法用于向URL 指示的资源提交数据,DELETE请求方法用于向服务端请求删除URL指示的资源。为便于描述,下文的部分实施例中,根据HTTP请求报文的请求方法,将HTTP请求报文分别记为GET请求报文、POST请求报文、DELETE请求报文。
应用于DIAL协议,GET请求报文主要用于向DIAL服务端请求获取应用状态,例如,上述步骤b1中的应用状态获取请求为GET请求报文;POST请求报文主要用于向DIAL服务端请求启动应用程序,例如,上述步骤b2中的应用启动指令通过POST请求报文实现;DELETE请求报文主要用于向DIAL 服务端请求退出应用程序,例如,上述步骤b3中的应用退出指令通过DELETE 请求报文实现。
请求行51中的URL指示目标资源的位置,协议版本指示该请求报文所属的HTTP协议版本,通常为HTTP/1.1或HTTP/1.0。
请求头部52:用于告知服务端额外信息,这里的额外信息指除报文主体中包含的信息外,该HTTP请求报文以及发送该请求报文的客户端本身的一些信息,具体可包括:该请求报文请求体的字节长度、客户端设备的***类型、客户端设备中发送该HTTP请求报文的应用程序的版本等。在一个实施例中,这里的额外信息以头字段来表示,每个头字段包括一个键值对,下文以头字段中键的内容作为头字段的名称。以头字段“Content-Length:75”为例,该头字段指示HTTP请求报文携带的数据的长度为75(默认单位为字节),具体来说,指示HTTP请求报文的请求体的长度为75,根据该头字段键的内容将其记为 Content-Length头字段。
请求体53:用于记载提交给服务端的数据。以用于向服务端推送媒体文件的POST请求报文为例,其请求体中可包含媒体文件的URL。
至此完成对HTTP请求报文结构的描述。
在一个例子中,本步骤S41中的HTTP报文为POST请求报文,且该POST 请求报文的请求行中的URL字段为移动终端想要启动的目标应用程序的 URL。该HTTP请求报文用于指示显示设备启动移动终端需要启动的目标应用程序,即为上述步骤b2中的应用启动指令。在一个实施例中,这里目标应用的URL由显示设备提供的DIAL REST(RepresentationalState Transfer,代表性状态传输)Service URL和目标应用的应用程序标识组成,中间以“/”隔开。以目标应用程序的URL为“/apps/YouTube”为例,其中“/apps”即为显示设备提供的DIAL REST Service URL,“YouTube”即为目标应用程序的应用程序标识。上述DIAL RESTService URL,包含在显示设备响应于移动终端的设备描述信息请求发送的设备描述信息响应中。
作为一个实施例,本步骤S41中的HTTP报文可以为请求体为空的POST 请求报文。作为另一个实施例,本步骤S41中的HTTP报文的请求体中可包含需推送至目标应用程序的信息,如媒体文件的URL信息等。
步骤S42,DIAL服务端模块从接收到的HTTP报文中解析出移动终端需要启动的目标应用程序。
在一个例子中,DIAL服务端模块可从HTTP报文的指定字段中解析出移动终端需要启动的目标应用程序,具体的,这里的指定字段可以为HTTP请求报文中的第一头字段。
作为一个实施例,上述第一头字段可以为Request URI(Uniform ResourceIdentifier,统一资源标识符)头字段,Request URI头字段包含HTTP请求报文所请求资源的URI。对于移动终端在需要启动目标应用程序时发送的HTTP请求报文来说,其RequestURI头字段包含需要启动的目标应用程序的URI,通过解析目标应用程序的URI,可得到目标应用程序的应用程序标识。DIAL服务端模块可解析Request URI头字段得到目标应用程序的应用程序标识。
在另一个实施例中,上述第一头字段可以为Origin(起源)头字段,该头字段指示发起该HTTP请求报文的应用程序(简称发起应用)的安装包名,可从该发起应用程序的安装包名解析得到发起应用的应用程序标识。对于移动终端在需要启动目标应用程序时发送的HTTP请求报文来说,发起应用与需要启动的目标应用程序为同一应用程序,二者的应用程序标识相同。DIAL服务端模块可从Origin头字段解析得到HTTP报文的发起应用的应用程序标识,将该应用程序标识作为目标应用程序的应用程序标识。
为便于理解本步骤S42中解析头字段得到目标应用程序的应用程序标识的过程,下文会对这一过程进行举例描述,在此暂不赘述。
作为一个实施例,可分别解析上述Request URI头字段和Origin头字段,若对这两种头字段的解析结果一致,即得到相同的应用程序标识,则将该相同的应用程序标识作为目标应用程序的应用程序标识;若对这两种头字段的解析结果不一致,则优先选择解析Origin头字段得到的应用程序标识作为目标应用程序的应用程序标识。
在又一个实施例中,上述第一头字段可以为请求行中的URL字段,从该 URL字段可以解析得到目标应用程序的应用程序标识。但需要注意的是,实际应用时,可能出现对应用程序标识较为相似的两个不同的应用程序,解析URL 字段时得到相同的应用程序标识的情况。为了尽量正确地启动应用程序,作为一个实施例,可分别解析HTTP报文的请求行中的URL和请求头部中的Origin 头字段,若得到的解析结果一致,则将一致的解析结果作为目标应用程序的应用程序标识;若得到的解析结果不一致,则优先选择对Origin头字段的解析结果作为目标应用程序的应用程序标识。
解析得到目标应用程序的应用程序标识后,在一个实施例中,可依据预先配置的应用程序标识与应用程序的对应关系,确定目标应用程序。
步骤S43,DIAL服务端模块在确定目标应用程序为上述移动终端合法操控的应用程序时,调用目标应用程序对应的目标应用模块启动该目标应用程序。
在实际应用时,本步骤S43中确定目标应用是否为移动终端合法操控的应用程序有多种实现方式,下文举例示出,在此暂不赘述。
若确定目标应用程序为上述移动终端合法操控的应用程序,则DIAL服务端模块可调用目标应用程序对应的目标应用处理模块处理该目标应用。在一个实施例中,这里的目标应用处理模块可配置在DIAL服务端模块中,且目标应用处理模块中预先配置有目标应用程序的回调函数,DIAL服务端模块可通过调用该回调函数来启动目标应用程序。下文结合图4对本实施例进行描述,在此暂不赘述。
启动目标应用程序后,在一个实施例中,若HTTP请求报文的请求体不为空,而是包含有如媒体文件的URL等信息,则DIAL服务端模块可进一步将该HTTP请求报文请求体中的信息发送至目标应用程序。例如,若所述HTTP 请求报文包含一视频文件的URL,并指示目标应用程序播放该视频文件,则目标应用程序可基于该URL获取网络服务器内存储的该视频文件并播放。
至此,完成图3A所示流程。
通过图3A所示流程,显示设备在接收到来自移动终端的HTTP报文时,通过解析该HTTP报文得到移动终端需要启动的目标应用程序,从而较为准确的启动目标应用程序。进一步的,显示设备可在确定目标应用程序不是移动终端合法操控的应用程序情况下启动目标应用程序。在一个实施例中,上述应用程序标识可以为应用程序名称。
在实际应用时,可能存在某些移动终端恶意地、错误地向显示设备推送信息的情况,造成用户无法正常使用显示设备等恶劣影响。为避免出现这种情况,在一个实施例中,DIAL服务端模块在根据接收到的HTTP报文启动目标应用程序前,可先确定目标应用程序是否为发送该HTTP报文的移动终端合法操控的应用程序。下面结合图3C对本实施例的实现过程进行描述:
图3C示例性示出了一种确定目标应用程序为移动终端合法操控的应用程序的流程示意图。如图3C所示,该流程包括以下步骤:
步骤S61,解析来自移动终端的HTTP报文得到判定信息。
步骤S62,若上述判定信息符合预设的判定条件,则确定该HTTP报文指示启动的目标应用程序是上述移动终端合法操控的应用程序。
作为一个实施例,若上述判定信息不符合预设的判定条件,则确定该HTTP 报文指示启动的目标应用程序不是上述移动终端合法操控的应用程序。
在一个例子中,DIAL服务端模块可从HTTP报文的指定字段中解析出移动终端需要启动的目标应用程序,具体的,这里的指定字段可以为HTTP请求报文中的第二头字段。这里的第二头字段是为了与上文步骤S42中的第一头字段进行区分而进行的命名,并非用于限制本申请。第二头字段可与第一头字段相同,也可与第一头字段不同。
作为一个实施例,上述第二头字段可以为HTTP请求报文中的 Content-Length(内容长度)头字段,该头字段指示HTTP请求报文的请求体中携带数据的字节长度。DIAL服务端模块可从Content-Length头字段解析出该Content-Length头字段指示的字节长度作为判定信息,并比较该字节长度与请求体实际携带数据的字节长度是否一致,若不一致,说明该HTTP报文请求体中的信息可能存在丢失、变更等错误。
本实施例中,上述步骤S61中的判定信息为Content-Length头字段指示的字节长度,上述步骤S62中的判定条件为Content-Length头字段指示的字节长度与HTTP请求报文请求体中实际携带数据的字节长度一致,则根据上述步骤 S62,若Content-Length头字段指示的字节长度与HTTP请求报文请求体中实际携带数据的字节长度一致,则确定目标应用程序是上述移动终端合法操控的应用程序。
作为另一个实施例,上述第二头字段可以为HTTP请求报文中的 User-Agent(用户代理)头字段,该头字段用于指示发送上述HTTP请求报文的移动终端的设备信息,该设备信息可包括:设备***类型、设备***版本、设备型号等。DIAL服务端模块可从User-Agent头字段解析得到移动终端的设备信息。
本实施例中,上述步骤S61中的判定信息为User-Agent头字段指示的指定设备信息,上述步骤S62中的判定条件为User-Agent头字段指示的指定设备信息满足预设的允许操控条件,则根据上述步骤S62,若User-Agent头字段指示的指定设备信息满足预设的允许操控条件,则确定目标应用程序是上述移动终端合法操控的应用。
本实施例中预设的允许操控条件,可由用户根据实际需求进行设置,以限制不同移动终端操控显示设备上的应用程序。以允许操控条件为移动终端的设备***类型是安卓为例,若DIAL服务端模块从HTTP请求报文的User-Agent 头字段中解析出的设备***类型为IOS而并非安卓,则可确定该设备信息不满足允许操控条件,确定目标应用程序不是上述移动终端合法操控的应用程序。
作为另一个实施例,第二头字段可以为Content-Type(内容格式)头字段,Content-Type头字段用于指示HTTP请求报文中携带数据的传输格式,基于该传输格式,可快速地解析HTTP请求报文中携带的数据。本实施例中,上述步骤S61中的判定信息为Content-Type头字段指示的传输格式,上述步骤S62中的判定条件为Content-Type头字段指示的传输格式为目标应用程序支持的传输格式。这里目标应用程序支持的传输格式可预先配置在DIAL服务端模块中。
作为另一个实施例,第二头字段可以为在上述步骤S42中用于解析确定目标应用程序的应用程序标识的第一头字段。本实施例中,上述步骤S61中的判定信息为目标应用程序的应用程序标识,上述步骤S62中的判定条件为目标应用程序的应用程序标识存在于DIAL注册表中,则根据上述步骤S62,若目标应用程序的应用程序标识存在于DIAL注册表中,则确定目标应用程序是上述移动终端合法操控的应用程序。由此可以防止移动终端启动DIAL注册表中未记录的应用程序。
在一个实施例中,上述DIAL注册表中记录有应用程序标识,其主要作用在于确保每个已注册的应用程序标识都能被正确区分,而不存在命名冲突,因此,为正常使用DIAL协议,应用程序需要将自身的应用程序标识注册至DIAL 注册表中。若DIAL注册表中不存在目标应用程序的应用程序标识,则说明目标应用程序尚未向DIAL注册表注册应用程序标识,这里尚未注册的原因可包括目标应用程序不适用于DIAL协议、目标应用程序的应用程序标识易与已注册的某一应用程序标识混淆等。
需要注意的是,上述实施例只是举例,并非用于限制本申请。在执行本步骤S62时,可依据上述实施例中的一个或组合。为便于理解本步骤S62中具体如何解析第二头字段,后文举例描述,在此暂不赘述。
至此,完成对图3C所示流程的描述。
通过对图3C所示流程,完成对如何确定目标应用程序是移动终端合法操控的应用程序的描述。需要注意的是,图3C所示流程只是示例,实际应用时可能存在其他确定方法,在此不再一一举例。
在一个例子中,上述DIAL服务端模块可包含多个子模块,图4中示例性示出了DIAL服务端模块的结构示意图,如图4所示,DIAL服务端模块可包括如下四个子模块:
监听模块71:用于接收来自移动终端的HTTP报文。具体的,监听模块 71可通过mongoose框架实现。
解析模块72:用于从监听模块71接收到的HTTP报文中解析出移动终端需要启动操控的目标应用程序,并在确定目标应用程序为该移动终端合法操控的应用程序时,将该HTTP报文分配至目标应用程序对应的目标应用程序处理模块处理。
如图4所示,应用程序处理模块可包括应用A处理模块731和应用B处理模块732,具体的,若根据HTTP报文确定出的目标应用程序为应用程序A,则将该HTTP报文分配至应用A处理模块731处理;若根据HTTP报文确定出的目标应用程序为应用程序B,则将该HTTP报文分配至应用B处理模块732 处理。需要注意是,根据显示设备中实际安装的适用于DIAL协议的应用程序,可配置针对其他多种应用程序的处理模块,在此仅举例示出针对应用程序A和应用程序B的处理模块。
应用A处理模块731、应序B处理模块732:用于处理被解析模块72分配的HTTP报文。具体的,应用A处理模块731用于处理针对应用程序A的 HTTP报文,应用B处理模块732用于处理针对应用程序B的HTTP报文。这里,处理可包括:根据HTTP报文控制应用程序执行启动、退出等操作;提取 HTTP报文的请求体中需传递至应用程序的参数等。其中,控制应用程序执行启动、退出等操作可通过调用应用程序的回调函数实现。
以为便于理解上述调用应用程序的回调函数,下面以应用A处理模块731 为例进行描述:应用A处理模块731中预先注册有应用程序A的回调函数,当接收到指示启动应用程序A的HTTP报文时,应用A处理模块731可调用应用程序A的回调函数,向应用程序A发出启动指令以启动应用程序A。
作为一个实施例,应用A处理模块731和应用B处理模块732可按照移动终端的***类型、***版本,对不同移动终端发送的信息进行不同的处理。
***对接模块74:用于与显示设备的***模块对接,实现***模块与DIAL 服务端模块间的信息交互。具体的,***对接模块74可将应用A处理模块731、应用B处理模块732处理得到的待传递至应用程序的信息发送至***模块中的应用程序管理者。
至此,完成对图4所示DIAL服务端模块的描述。
下面结合一个来自移动终端的HTTP请求报文的请求头部示例,对图3A、 3C所示流程中,具体如何解析所示流程中的代码解析过程进行描述,该请求头部示例如下:
Figure BDA0002504888320000251
Figure BDA0002504888320000261
其中,“\r”为回车符,“\n”为换行符,不属于头字段的组成部分。
在对头字段进行解析时,由于头字段种类不同、希望通过解析头字段得到的解析结果也不同,可针对不同的头字段选择不同的解析方式。下面结合上文步骤中涉及的头字段进行举例描述:
上述请求头部示例中,上述图3A所示流程的步骤S42涉及到的两种第一头字段如下:
Origin头字段:“Origin:package:com.***.android.youtube”;
Request URI头字段:“Request URI:/apps/YouTube”。
对这两种第一头字段进行解析时,在一个例子中,显示设备中预先设置有应用程序标识列表,该应用程序标识列表中每一应用程序标识与一个或多个关键字对应,由此可基于该应用程序标识列表对第一头字段进行解析。本实施例中的解析过程可包括:针对应用程序标识列表中的任一关键字,检查第一头字段中是否包含该关键字;若包含,则确定目标应用程序的应用程序标识为这一关键字对应的应用程序标识;若不包含,则确定目标应用程序的应用程序标识不为这一关键字对应的应用程序标识。表1示例性示出了一个应用程序标识列表:
Figure BDA0002504888320000262
Figure BDA0002504888320000271
表1
为便于理解,下面基于表1所示应用程序标识列表以及上述请求头部示例中的Origin头字段,对上述解析过程进行简要描述:对Origin头字段进行解析的过程中,当以“youtube”为关键字,检查Origin头字段中是否包含关键字“youtube”时,可发现上述Origin头字段“Origin: package:com.***.android.youtube”中包含关键字“youtube”,由此可确定目标应用程序的应用程序标识为关键字“youtube”对应的应用程序标识,即“YouTube”。
在一个实施例中,上述应用程序标识列表可基于显示设备上已安装应用程序的应用程序标识进行设置。在另一个实施例中,上述应用程序标识列表可基于DIAL注册表中的应用程序标识进行设置。
实际应用程序中,还可通过其他方式解析第一头字段中包含的目标应用程序的应用程序标识,在此不再一一举例描述。
上述请求头部示例中,上述图3C所示流程的步骤S61-S62涉及到的三种第二头字段如下:
Content-Length头字段:“Content-Length:75”;
Content-Type头字段:“Content-Type:text/plain;charset=“utf-8””;
User-Agent头字段:“User-Agent:com.***.android.youtube/14.22.54(Linux;U;Android9;zh_CN_#Hans;CLT-AL00 Build/HUAWEICLT-AL00)gzip”
作为一个实施例,在对上述三种第二头字段中的Content-Length头字段进行解析时,可直接获取该头字段的值作为解析结果。以上述请求头部示例中的 Content-Length头字段“Content-Length:75”为例,则将该头字段的值“75”作为解析结果,即作为请求体的字节长度。
作为一个实施例,对上述三种第二头字段中的Content-Type头字段进行解析时,可根据Content-Type头字段的值中的格式标记确定请求体中数据的传输格式。以上述请求头部示例中的Content-Type头字段“Content-Type:text/plain; charset=“utf-8””为例,该头字段的值中的“text/plain”表示纯文本格式,由此可以得到上述应用启动指令的请求体中数据的格式为纯文本格式。
作为一个实施例,上述三种第二头字段中的User-Agent头字段具有多个组成部分,各组成部分用于表示不同的设备信息,在解析User-Agent头字段时,可基于各组成部分所表示的内容进行解析。以上述请求头部示例中的 User-Agent头字段为例,该头字段的值中的“Linux”表示操作***类型为Linux,该头字段的值中“Android 9”表示操作***版本为Android 9,由此可得到发送上述应用启动指令的移动终端的操作***类型为Linux,操作***版本为 Android 9。
在另一些实施例中,显示设备还可解析接收到的应用启动指令中的 Connection头字段,以确认与发送该应用启动指令的移动终端间建立的连接是否为长连接,若是长连接则维持当前建立的连接。在解析时,可根据Connection 头字段的值确定是否为长连接。以上述请求头部示例中的Connection头字段“Connection:keep-alive”为例,该头字段的值“keep-alive”指示长连接,由此可确定与发送该应用启动指令的移动终端间建立的连接为长连接。
至此,完成对本申请提供的应用程序启动方法的描述。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种显示设备,其特征在于,包括:
显示器;
与所述显示器耦合的控制器,所述控制器设置有发现和启动DIAL服务端模块,DIAL服务端模块用于:
接收来自集成有DIAL客户端模块的移动终端的HTTP报文;
从所述HTTP报文中解析出所送Request URI字段和Origin字段,从所述Request URI字段解析出第一应用程序标识,从所述Origin字段解析出第二应用程序标识,若第一应用程序标识和第二应用程序标识一致,则依据解析出的第一应用程序标识或第二应用程序标识确定所述移动终端需要启动操控的目标应用;若第一应用程序标识和第二应用程序标识不一致,则将所述第二应用程序标识确定为所述移动终端需要启动操控的目标应用;所述HTTP报文包括:请求统一资源标志符Request URI字段和起源Origin字段;所述RequestURI字段,用于指示移动终端需要启动操控的目标应用;所述Origin字段,用于指示移动终端中发起该HTTP报文的发起应用;
若确定所述目标应用为所述移动终端合法操控的应用,则调用所述目标应用对应的目标应用模块处理所述目标应用。
2.根据权利要求1所述的显示设备,其特征在于,所述HTTP报文包括:内容长度Content-Length字段;所述Content-Length字段,用于指示所述HTTP报文中携带数据的字节长度;
所述DIAL服务端模块检查所述Content-Length字段指示的字节长度和所述HTTP报文实际携带数据的字节长度是否一致;若一致,则确定所述目标应用为所述移动终端合法操控的应用,否则,确定所述目标应用为所述移动终端非法操控的应用。
3.根据权利要求1所述的显示设备,其特征在于,所述HTTP报文包括:用户代理User-Agent字段,所述User-Agent字段,用于指示发送所述HTTP 报文的移动终端的设备信息,所述设备信息至少包括移动终端的***类型和***版本;
所述DIAL服务端模块从User-Agent字段中解析出所述移动终端的设备信息,并判断解析出的设备信息是否满足预设的允许操控条件;若满足,则确定所述目标应用为所述移动终端合法操控的应用,否则,确定所述目标应用为所述移动终端非法操控的应用。
4.根据权利要求1所述的显示设备,其特征在于,DIAL服务端模块检查已记录的DIAL注册表中是否存在所述目标应用对应的应用程序标识,当检查出DIAL注册表中存在所述目标应用对应的应用程序标识,则确定所述目标应用为所述移动终端合法操控的应用,否则,确定所述目标应用为所述移动终端非法操控的应用。
5.一种应用程序启动方法,其特征在于,包括:
接收来自集成有DIAL客户端模块的移动终端的HTTP报文;
从所述HTTP报文中解析出所送Request URI字段和Origin字段,从所述Request URI字段解析出第一应用程序标识,从所述Origin字段解析出第二应用程序标识,若第一应用程序标识和第二应用程序标识一致,则依据解析出的第一应用程序标识或第二应用程序标识确定所述移动终端需要启动操控的目标应用;若第一应用程序标识和第二应用程序标识不一致,则将所述第二应用程序标识确定为所述移动终端需要启动操控的目标应用;所述HTTP报文包括:请求统一资源标志符Request URI字段和起源Origin字段;所述RequestURI字段,用于指示移动终端需要启动操控的目标应用;所述Origin字段,用于指示移动终端中发起该HTTP报文的发起应用;
确定所述目标应用为所述移动终端合法操控的应用,则调用所述目标应用对应的目标应用模块处理所述目标应用。
6.根据权利要求5所述的方法,其特征在于,所述HTTP报文包括:内容长度Content-Length字段;所述Content-Length字段,用于指示所述HTTP 报文中携带数据的字节长度;
所述目标应用为所述移动终端合法操控的应用,通过以下步骤确定:
检查所述Content-Length字段指示的字节长度和所述HTTP报文实际携带数据的字节长度是否一致;若一致,则确定所述目标应用为所述移动终端合法操控的应用。
7.根据权利要求5所述的方法,其特征在于,所述HTTP报文包括:用户代理User-Agent字段,所述User-Agent字段,用于指示发送所述HTTP报文的移动终端的设备信息,所述设备信息至少包括移动终端的***类型和***版本;
所述目标应用为所述移动终端合法操控的应用,通过以下步骤确定:
从User-Agent字段中解析出所述移动终端的设备信息,并判断解析出的设备信息是否满足预设的允许操控条件;若满足,则确定所述目标应用为所述移动终端合法操控的应用。
8.根据权利要求5所述的方法,其特征在于,所述目标应用为所述移动终端合法操控的应用,通过以下步骤确定:
检查已记录的DIAL注册表中是否存在所述目标应用对应的应用程序标识,当检查出DIAL注册表中存在所述目标应用对应的应用程序标识,则确定所述目标应用为所述移动终端合法操控的应用。
CN202010443712.6A 2020-05-22 2020-05-22 一种应用程序启动方法及显示设备 Active CN111654753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010443712.6A CN111654753B (zh) 2020-05-22 2020-05-22 一种应用程序启动方法及显示设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010443712.6A CN111654753B (zh) 2020-05-22 2020-05-22 一种应用程序启动方法及显示设备

Publications (2)

Publication Number Publication Date
CN111654753A CN111654753A (zh) 2020-09-11
CN111654753B true CN111654753B (zh) 2022-06-03

Family

ID=72345798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010443712.6A Active CN111654753B (zh) 2020-05-22 2020-05-22 一种应用程序启动方法及显示设备

Country Status (1)

Country Link
CN (1) CN111654753B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256449B (zh) * 2020-10-16 2024-05-17 Vidaa美国公司 网页应用程序的接口调用方法、显示设备及服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1883202A (zh) * 2003-11-17 2006-12-20 三星电子株式会社 数字广播中用扩展标识符更新目标设备软件的方法
CN103517110A (zh) * 2012-06-29 2014-01-15 深圳市快播科技有限公司 一种多屏互动通信***和方法
CN105579995A (zh) * 2013-09-23 2016-05-11 三星电子株式会社 在无线通信***中执行应用的方法和装置
CN105611363A (zh) * 2016-02-26 2016-05-25 四川长虹电器股份有限公司 基于YouTube的多屏协调控制方法
CN106331009A (zh) * 2015-06-26 2017-01-11 广州市动景计算机科技有限公司 一种应用程序下载方法、装置及***
CN110999310A (zh) * 2017-08-23 2020-04-10 三星电子株式会社 客户端设备、伴随屏幕设备及其操作方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154942B2 (en) * 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US8527987B2 (en) * 2008-12-29 2013-09-03 Telefonaktiebolaget L M Ericsson (Publ) Method and device for installing applications on NFC-enabled devices
US9760867B2 (en) * 2011-03-31 2017-09-12 Loment, Inc. Management for information communicated among end user communication devices
US8839302B2 (en) * 2011-07-14 2014-09-16 Samsung Electronics Co., Ltd. Launching an application from a broadcast receiving apparatus
US10931735B2 (en) * 2012-06-28 2021-02-23 Netflix, Inc. Application discovery
US10075348B2 (en) * 2014-07-25 2018-09-11 Cable Television Laboratories, Inc. Network service discovery
EP3104577A1 (en) * 2015-06-09 2016-12-14 Thomson Licensing Method for launching a remote application, and corresponding communication device, system, computer readable program product and computer readable storage medium
CN107222369A (zh) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 应用程序的识别方法、装置、交换装置和存储介质
WO2019039748A1 (ko) * 2017-08-23 2019-02-28 삼성전자 주식회사 클라이언트 디바이스, 컴패니언 스크린 디바이스 및 그 동작방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1883202A (zh) * 2003-11-17 2006-12-20 三星电子株式会社 数字广播中用扩展标识符更新目标设备软件的方法
CN103517110A (zh) * 2012-06-29 2014-01-15 深圳市快播科技有限公司 一种多屏互动通信***和方法
CN105579995A (zh) * 2013-09-23 2016-05-11 三星电子株式会社 在无线通信***中执行应用的方法和装置
CN106331009A (zh) * 2015-06-26 2017-01-11 广州市动景计算机科技有限公司 一种应用程序下载方法、装置及***
CN105611363A (zh) * 2016-02-26 2016-05-25 四川长虹电器股份有限公司 基于YouTube的多屏协调控制方法
CN110999310A (zh) * 2017-08-23 2020-04-10 三星电子株式会社 客户端设备、伴随屏幕设备及其操作方法

Also Published As

Publication number Publication date
CN111654753A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
WO2021109487A1 (zh) 音频数据流输出的控制方法及显示设备
CN111464844A (zh) 一种投屏显示方法及显示设备
WO2021232506A1 (zh) 图像质量调节方法及显示设备
CN111601149B (zh) 一种操作指南显示方法及显示设备
CN111601142B (zh) 一种字幕的显示方法及显示设备
CN111726673B (zh) 一种频道切换方法及显示设备
CN111726664A (zh) 通过移动终端控制显示设备功能操作的方法及显示设备
CN111639281A (zh) 一种页面资源显示方法及显示设备
CN113225838A (zh) 一种麦克风的控制方法、音频接收设备及音频采集设备
WO2021232914A1 (zh) 一种显示方法及显示设备
CN111654729B (zh) 一种账号登录状态的更新方法及显示设备
CN111897641B (zh) 微服务监控调度方法及显示设备
CN111726674B (zh) 一种HbbTV应用启动方法及显示设备
WO2021139045A1 (zh) 播放媒体项目的方法及显示设备
CN112004125A (zh) 媒体资源播放方法及显示设备
CN111654753B (zh) 一种应用程序启动方法及显示设备
CN111405367A (zh) 基于多网络切换场景***部件网络共享的方法及显示设备
CN111901677B (zh) 一种统一控制进程启动的方法及显示设备
CN111343498B (zh) 一种静音控制方法、装置及智能电视
CN113382291A (zh) 一种显示设备及流媒体播放方法
CN113438296B (zh) 一种升级包下载方法及显示设备
CN111756413B (zh) 显示设备上蓝牙模式的调整方法及显示设备
CN111901686B (zh) 保持用户界面堆栈正常展示的方法及显示设备
WO2021253575A1 (zh) 一种音频输出设备的选择方法及显示设备
WO2022078166A1 (zh) 一种蓝牙设备类型切换方法及显示设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221101

Address after: 83 Intekte Street, Devon, Netherlands

Patentee after: VIDAA (Netherlands) International Holdings Ltd.

Address before: 266061 room 131, 248 Hong Kong East Road, Laoshan District, Qingdao City, Shandong Province

Patentee before: QINGDAO HISENSE MEDIA NETWORKS Ltd.

TR01 Transfer of patent right