显示设备及投屏方法与流程

文档序号:22554856发布日期:2020-10-17 02:35阅读:322来源:国知局
显示设备及投屏方法与流程

本申请涉及显示设备技术领域,尤其涉及一种显示设备及投屏方法。



背景技术:

智能电视属于大屏显示设备,其视听效果相较小屏显示设备如智能手机具有明显优势。将智能手机上的显示内容分享至智能电视往往能为用户带来更佳的视听体验。智能电视与智能手机进行内容分享的一种重要方式为miracast投屏。

当智能电视和智能手机都具有miracast投屏功能时,可通过rtsp(realtimestreamingprotoco,实时流传输协议)来实现媒体数据共享。根据rtsp,设备两端在进行投屏时需要进行多个阶段的交互,其中,在m3阶段,rtsp规定了设备两端需要协商的一些能力参数,其中一项能力参数为用于判定进行投屏数据加密的内容保护选项。投屏数据加密可基于hdcp(high-bandwidthdigitalcontentprotection,高带宽数字内容保护技术)进行,该技术可以保证传输的高清晰信号不会被非法录制,当用户进行非法复制时,该技术会进行干扰,降低复制出来的影像的质量,从而对投屏数据进行保护。智能电视可根据内容保护选项,判定智能手机发送的投屏数据为加密数据,对投屏数据进行解密后输出。然而,内容保护选项并非rtsp的强制性标准,部分智能手机在向智能电视发送内容保护选项后,向智能电视发送的投屏数据为非加密数据,智能电视对非加密数据进行解密会解密失败,进而导致投屏失败。



技术实现要素:

为解决上述技术问题,本申请提供了一种显示设备及投屏方法。

第一方面,本申请提供了一种显示设备,该显示设备包括:

显示器;

扬声器;

控制器,与所述显示器和扬声器连接,所述控制器被配置为:

响应于接收到投屏信号,启动rtsp交互线程;

在所述rtsp交互线程接收终端设备的投屏数据之前,判断终端设备是否hdcp认证成功;

根据所述终端设备hdcp认证成功,控制rtsp交互线程进入投屏数据交互阶段,并控制所述rtsp交互线程启动加密流线程解析所述投屏数据,得到第一解析数据;

根据所述终端设备hdcp认证失败,控制rtsp交互线程进入投屏数据交互阶段,并控制所述rtsp交互线程启动清流线程解析所述投屏数据,得到第二解析数据;

控制所述显示器和扬声器播放所述第一解析数据或第二解析数据对应的内容。

在一些实施例中,所述控制器还被配置为:

启动hdcp交互认证线程,所述hdcp交互认证线程用于判断显示设备的hdcp交互端口号是否接收到来自终端设备的数据包,根据是否接收到来自终端设备的数据包生成hdcp认证结果;

获取所述hdcp认证结果,根据所述hdcp认证结果确定终端设备是否hdcp认证成功。

在一些实施例中,所述hdcp交互认证线程在启动后建立超时机制,所述超时机制用于限定接收所述数据包的时间范围。

第二方面,本申请实施例提供了一种投屏方法,用于显示设备,该投屏方法包括:

响应于接收到投屏信号,启动rtsp交互线程;

在所述rtsp交互线程接收终端设备的投屏数据之前,判断终端设备是否hdcp认证成功;

根据所述终端设备hdcp认证成功,控制rtsp交互线程进入投屏数据交互阶段,并控制所述rtsp交互线程启动加密流线程解析所述投屏数据,得到第一解析数据;

根据所述终端设备hdcp认证失败,控制rtsp交互线程进入投屏数据交互阶段,并控制所述rtsp交互线程启动清流线程解析所述投屏数据,得到第二解析数据;

控制所述显示器和扬声器播放所述第一解析数据或第二解析数据对应的内容。

本申请提供的显示设备及投屏方法的有益效果包括:

本申请实施例通过判断终端设备是否认证成功来确定投屏数据的解析线程,解决了只根据内容保护选项就判定采用加密流线程解析投屏数据,可能会导致投屏数据解析失败,进而导致投屏失败的问题,提高了投屏兼容性,提高了投屏成功率。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1中示例性示出了根据一些实施例的显示设备与控制装置之间操作场景的示意图;

图2中示例性示出了根据一些实施例的显示设备200的硬件配置框图;

图3中示例性示出了根据一些实施例的控制装置100的硬件配置框图;

图4中示例性示出了根据一些实施例的显示设备200中软件配置示意图;

图5中示例性示出了根据一些实施例的显示设备200中应用程序的图标控件界面显示示意图;

图6中示例性示出了根据一些实施例的rtsp协议阶段的交互示意图;

图7中示例性示出了根据一些实施例的投屏交互的流程示意图;

图8中示例性示出了根据一些实施例的投屏方法的流程示意图;

图9中示例性示出了根据一些实施例的显示设备侧rtsp交互线程的流程示意图;

图10中示例性示出了根据一些实施例的判断终端设备是否hdcp认证成功的方法的流程示意图;

图11中示例性示出了根据一些实施例的hdcp交互认证线程的流程示意图。

具体实施方式

为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(unlessotherwiseindicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(rf)信号和/或蓝牙与电子设备连接,也可以包括wifi、无线usb、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。

本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。

图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制装置100操作显示设备200。

在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。

在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(ui)中为用户提供各种控制。

在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。

如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(epg)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。

显示设备200,可以液晶显示器、oled显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。

显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(iptv)等。

图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。

在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。

在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。

在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。

在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。

在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控ui界面。

在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。

在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。

在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。

在一些实施例中,显示设备200可以通过通信器220与外部控制装置100或内容提供设备之间建立控制信号和数据信号发送和接收。

在一些实施例中,用户接口265,可用于接收控制装置100(如:红外遥控器等)红外控制信号。

在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。

在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。

在一些实施例中,检测器230还可以包括图像采集器,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。

在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。

在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。

在一些实施例中,检测器230还可声音采集器等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。

在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。

在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口hdmi接口、模拟或数据高清分量输入接口、复合视频输入接口、usb输入接口、rgb端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。

在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及epg数据信号。

在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。

在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。

在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。

在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。

在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择ui对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。

如图2所示,控制器250包括随机存取存储器251(randomaccessmemory,ram)、只读存储器252(read-onlymemory,rom)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(graphicsprocessingunit,gpu)、中央处理器254(centralprocessingunit,cpu)、通信接口(communicationinterface),以及通信总线256(bus)中的至少一种。其中,通信总线连接各个部件。

在一些实施例中,ram251用于存储操作系统或其他正在运行中的程序的临时数据。

在一些实施例中,rom252用于存储各种系统启动的指令。

在一些实施例中,rom252用于存储一个基本输入输出系统,称为基本输入输出系统(basicinputoutputsystem,bios)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。

在一些实施例中,在收到开机信号时,显示设备200电源开始启动,cpu运行rom252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至ram251中,以便于启动或运行操作系统。当操作系统启动完成后,cpu再将存储器中各种应用程序的临时数据拷贝至ram251中,然后,以便于启动或运行各种应用程序。

在一些实施例中,cpu处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。

在一些示例性实施例中,cpu处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。

在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。

在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧数转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。

在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧数转换模块、显示格式化模块等。

其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2,则解复用模块进行解复用成视频信号和音频信号等。

视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。

图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。

帧数转换模块,用于对转换输入视频帧数,如将60hz帧数转换为120hz帧数或240hz帧数,通常的格式采用如插帧方式实现。

显示格式化模块,则用于将接收帧数转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。

在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如gpu+frc(framerateconversion))架构。

在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。

在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。

在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。

在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发声装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。

供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。

用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。

在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。

在一些实施例中,用户可在显示器275上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。

在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。

存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。

基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。

例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和ui界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。

图3示例性示出了根据示例性实施例中控制装置100的配置框图。如图3所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。

控制装置100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。

在一些实施例中,控制装置100可是一种智能设备。如:控制装置100可根据用户需求安装控制显示设备200的各种应用。

在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制装置100类似功能。如:用户可以通过安装应用,在移动终端300或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制装置100实体按键的功能。

控制器110包括处理器112和ram113和rom114、通信接口130以及通信总线。控制器用于控制控制装置100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。

通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括wifi芯片131、蓝牙模块132、nfc模块133等其他近场通信模块中至少之一种。

用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。

输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。

在一些实施例中,控制装置100包括通信接口130和输入输出接口140中至少一者。控制装置100中配置通信接口130,如:wifi、蓝牙、nfc等模块,可将用户输入指令通过wifi协议、或蓝牙协议、或nfc协议编码,发送至显示设备200。

存储器190,用于在控制器的控制下存储驱动和控制控制设备200的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。

供电电源180,用于在控制器的控制下为控制装置100各元件提供运行电力支持。可以电池及相关控制电路。

在一些实施例中,系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。

参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(applicationframework)层(简称“框架层”),安卓运行时(androidruntime)和系统库层(简称“系统运行库层”),以及内核层。

在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、k歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。

框架层为应用程序层的应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。

如图4所示,本申请实施例中应用程序框架层包括管理器(managers),内容提供者(contentprovider)等,其中管理器包括以下模块中的至少一个:活动管理器(activitymanager)用与和系统中正在运行的所有活动进行交互;位置管理器(locationmanager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(packagemanager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notificationmanager)用于控制通知消息的显示和清除;窗口管理器(windowmanager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。

在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到系统桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。

在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。

在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c++库以实现框架层要实现的功能。

在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。

在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。

在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。

在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示屏上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示屏的不同显示区域显示与之对应的应用界面。

在一些实施例中,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。

在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。

在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。

在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。

在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。

在一些实施例中的硬件或软件架构可以基于上述实施例中的介绍,在一些实施例中可以是基于相近的其他硬件或软件架构,可以实现本申请的技术方案即可。

在一些实施例中,应用程序中心内可设置有投屏应用,投屏应用可为基于miracast(无线显示)技术的应用程序,能够通过p2p(point2poin,点对点)网络传输功能,把设备端的音视频数据传输到tv端进行播放,从而达到屏幕共享的目的,其中,设备端可为智能手机、平板电脑等终端设备。

在进行投屏时,需要遵守rtsp(realtimestreamingprotoco,实时流传输协议)交互协议,来实现媒体数据共享。rtsp协议规定了tv端和设备端之间在rtsp协议阶段的交互过程,参见图6,rtsp协议阶段的交互可包括下述流程:setup(建立连接)、play(播放传屏)、pause(暂停)和teardown(结束),其中,setup包括建立连接功能,play包括播放传屏功能,设备端将屏幕内容数据传输到tv端,按照命令的格式要求发起播放请求,pause包括暂停功能,该功能为可选功能,可支持暂停投屏,teardown包括结束功能,投屏双方都可启动结束功能。为了顺利播放投屏内容,需要在setup时确定投屏数据的解析方法,其中,投屏数据可包括上述屏幕内容数据。

setup属于rtsp协议阶段的m3阶段,在该阶段,rtsp协议规定了tv端和设备端需要协商的一些能力参数,如内容保护选项,内容保护选项用于实现内容保护,实现方式包括利用hdcp(high-bandwidthdigitalcontentprotection,高带宽数字内容保护技术)。hdcp可以保证传输的高清晰信号不会被非法录制,当用户进行非法复制时,该技术会进行干扰,降低复制出来的影像的质量,从而对内容进行保护。tv端可根据内容保护选项确定投屏数据的解析方法为加密流线程解析,加密流线程可为加密的投屏数据进行解析;当然,如果设备端不要求进行内容保护,tv端也可确定投屏数据的解析方法为清流线程解析,即非加密解析,清流线程可对非加密的投屏数据进行解析。

然而,由于内容保护不是强制标准,导致部分设备端发送内容保护选项到tv端后,tv端确定了投屏数据的解析方法为加密线程解析,而该设备端发送的投屏数据却可能为非加密数据,导致投屏数据解析失败,进而导致投屏失败。例如,设备端的hdcp功能模块为非标准模块,其hdcp功能不完整,不具有加密投屏数据的能力,但仍有要求内容保护的能力,导致显示设备无法对其投屏数据进行解析。

为解决上述技术问题,本申请实施例提供了一种投屏交互方法,参见图7,为根据一些实施例的投屏交互的流程示意图。

如图7所示,用户可在终端设备输入投屏指令,其中,终端设备需具备miracast投屏功能,终端设备可设置有投屏图标,当用户点击投屏图标时,生成投屏指令,终端设备根据投屏指令启动miracast投屏功能。

终端设备启动miracast投屏功能后,启动自身的p2p网络功能。

在一些实施例中,终端设备可向显示设备发送投屏信号,显示设备根据接收到投屏信号,启动自身的p2p网络功能。

在一些实施例中,用户可在显示设备上点击投屏应用的图标,生成投屏信号,显示设备根据接收到投屏信号,启动自身的p2p网络功能。

在终端设备和显示设备都启动p2p网络功能的基础上,终端设备可与显示设备建立p2p连接,进行网络部分的交互,获取彼此的ip地址。

显示设备和终端设备各自启动rtsp交互线程,在握手阶段,进行setup建立。

当显示设备在rtsp交互线程中执行到setup的m3阶段时,终端设备会向显示设备发送m3request(请求),m3request包含get_parameter参数列表。

在一些实施例中,终端设备设置有hdcp功能模块,且hdcp功能模块为标准模块,当终端设备要求对投屏数据进行符合hdcp协议的内容保护时,get_parameter参数列表内会有wfd_content_protection,即内容保护选项;当终端设备不要求对投屏数据进行符合hdcp协议的内容保护时,get_parameter参数列表内不会有wfd_content_protection。

在一些实施例中,终端设备设置有hdcp功能模块,但hdcp功能模块为非标准模块,当终端设备要求对投屏数据进行符合hdcp协议的内容保护时,get_parameter参数列表内会有wfd_content_protection;当终端设备不要求对投屏数据进行符合hdcp协议的内容保护时,get_parameter参数列表内可能会有wfd_content_protection,也可能没有wfd_content_protection。

当m3request的get_parameter参数列表内包含wfd_content_protection时,则m3request为内容保护请求。

显示设备根据接收到内容保护请求,进行hdcp阶段握手和授权。hdcp阶段握手包括向终端设备回复hdcp验证信息,hdcp验证信息可包括hdcp交互版本和hdcp交互端口号。

在一些实施例中,终端设备的hdcp功能模块为标准模块,可在接收到hdcp验证信息后,向显示设备发送认证信息,显示设备根据接收到认证信息实现授权,确认终端设备认证成功。

在一些实施例中,终端设备的hdcp功能模块为非标准模块,在接收到hdcp验证信息后,不会向显示设备发送认证信息,显示设备没有接收到认证信息不能授权,确认终端设备认证失败。

终端设备向显示设备发送投屏数据,显示设备根据终端设备认证成功,启动加密流线程解析投屏数据,根据终端设备认证失败,启动清流线程解析投屏数据,终端设备根据投屏数据的解析结果播放投屏内容。

通过上述投屏交互方法可见,显示设备在接收到内容保护请求后,通过判断终端设备是否认证成功来确定投屏数据的解析线程,解决了只根据内容保护请求就判定采用加密流线程解析投屏数据,可能会导致投屏数据解析失败,进而导致投屏失败的问题。

为对上述投屏交互方法做进一步说明,本申请实施例还提供了一种投屏方法,用于显示设备,基于miracast服务,显示设备中可设置一个功能模块来执行该投屏方法,在一些实施例中,该功能模块的名称可为仲裁者,参见图8,该投屏方法可包括以下步骤:

步骤s110:响应于接收到投屏信号,启动rtsp交互线程。

在一些实施例中,当用户在终端设备上输入投屏指令后,终端设备将投屏信号发送给显示设备,显示设备根据接收到投屏信号,启动p2p网络功能,与终端设备建立p2p网络连接,获取到终端设备的ip地址,进而启动rtsp交互线程。

在一些实施例中,用户可在显示设备上点击投屏应用的图标,生成投屏信号,显示设备根据接收到投屏信号,启动自身的p2p网络功能,进而与终端设备建立p2p网络连接,获取到终端设备的ip地址,进而启动rtsp交互线程。

在一些实施例中,rtsp交互线程包括m1~m7阶段,其中,m1-m4~属于能力协商阶段,m5-m7属于会话建立及播放控制阶段。rtsp交互线程在启动后按照m1~m7的顺序执行终端设备与显示设备的交互,仲裁者可对rtsp交互线程的执行进行控制,如中断或恢复等。

步骤s120:在rtsp交互线程执行投屏数据交互之前,判断终端设备是否hdcp认证成功。

在一些实施例中,rtsp交互线程的m7阶段用于进行投屏数据交互,在m7阶段之前,通过判断终端设备是否hdcp认证成功可选择合适的投屏数据处理流程,避免在m7阶段投屏数据解析失败。

在一些实施例中,仲裁者可在rtsp交互线程的m6阶段结束时,先将rtsp交互线程暂停,再判断终端设备是否hdcp认证成功。

步骤s130:如果终端设备hdcp认证成功,控制rtsp线程接收投屏数据,并控制rtsp交互线程启动加密流线程解析投屏数据,得到第一解析数据。

在一些实施例中,仲裁者可根据终端设备hdcp认证成功,恢复rtsp交互线程,进入m7阶段,从而使终端设备开始接收投屏数据,并控制rtsp交互线程选择加密流线程解析投屏数据,得到第一解析数据。

步骤s140:如果终端设备hdcp认证失败,控制rtsp线程接收投屏数据,并控制rtsp交互线程启动清流线程解析投屏数据,得到第二解析数据。

在一些实施例中,仲裁者可根据终端设备hdcp认证失败,恢复rtsp交互线程,进入m7阶段,从而使终端设备开始接收投屏数据,并控制rtsp交互线程选择清流线程解析投屏数据,得到第二解析数据。

步骤s150:控制显示器和扬声器播放第一解析数据或第二解析数据对应的内容。

在一些实施例中,仲裁者可根据rtsp线程得到第一解析数据或第二解析数据,控制显示器和扬声器执行投屏内容。

在一些实施例中,第一解析数据包括视频数据,显示设备可根据该视频数据控制显示器显示对应的内容。

在一些实施例中,第一解析数据包括音频数据,显示设备可根据该音频数据控制显示器显示对应的内容。

在一些实施例中,第一解析数据包括视频数据和音频数据,显示设备可分别根据视频数据控制显示器显示对应的内容,根据音频数据控制显示器显示对应的内容。

在一些实施例中,第二解析数据包括视频数据,显示设备可根据该视频数据控制显示器显示对应的内容。

在一些实施例中,第二解析数据包括音频数据,显示设备可根据该音频数据控制显示器显示对应的内容。

在一些实施例中,第二解析数据包括视频数据和音频数据,显示设备可分别根据视频数据控制显示器显示对应的内容,根据音频数据控制显示器显示对应的内容。

在仲裁者的控制下,rtsp交互线程的流程可参见图9,为根据一些实施例的显示设备侧rtsp交互线程示意图,如图9所示,该rtsp交互线程可包括步骤s210-s280。

步骤s210:判断是否接收到内容保护请求。

在一些实施例中,rtsp交互线程从m1阶段顺序执行到m3阶段后,在rtsp交互线程的m3阶段,终端设备根据自己设置有hdcp功能模块,通过该hdcp功能模块可向显示设备发送内容保护请求。

在一些实施例中,rtsp交互线程从m1阶段顺序执行到m3阶段后,在rtsp交互线程的m3阶段,终端设备根据自己未设置有hdcp功能模块,不向显示设备发送内容保护请求。

在一些实施例中,显示设备可判断m3阶段是否接收到来自终端设备的内容保护请求。

在一些实施例中,如果m3阶段没有接收到来自终端设备的内容保护请求,可转向步骤s270。

步骤s220:向终端设备发送hdcp验证信息。

在一些实施例中,在rtsp交互线程的m3阶段,显示设备接收到来自终端设备的内容保护请求后,会向终端设备发送hdcp验证信息。hdcp验证信息可包括hdcp交互版本和hdcp交互端口号。

在一些实施例中,终端设备的hdcp功能模块为标准模块,在接收到hdcp验证信息后,终端设备可根据hdcp交互版本和hdcp交互端口号与显示设备进行hdcp交互,如从hdcp验证信息中提取出显示设备的hdcp交互端口号,向显示设备的hdcp交互端口号发送数据包,其中,数据包可包括认证信息,认证信息可包括显示设备用于解析投屏数据的解密信息,如密钥信息。在一些实施例中,终端设备的hdcp功能模块为非标准模块,在接收到hdcp验证信息后,可能不对该hdcp验证信息进行处理,进而也不会向显示设备的hdcp交互端口号发送数据包。

步骤s230:根据当前交互阶段进行完毕,且下一交互阶段为投屏数据交互阶段,发送阶段信息到仲裁者。

在一些实施例中,显示设备在步骤s220中向终端设备发送hdcp验证信息后,继续进行rtsp交互线程的后续阶段交互,如进行m4~m6阶段的交互。当显示设备与终端设备的m6阶段的交互结束后,显示设备可发送阶段信息到仲裁者。

在一些实施例中,仲裁者接收阶段信息为m6时,还没有判断出终端设备是否hdcp认证成功,这时,仲裁者可发送暂停指令到rtsp交互线程。

步骤s240:根据仲裁者的暂停指令暂停进入下一交互阶段。

在一些实施例中,rtsp交互线程可根据仲裁者的暂停指令暂停进入下一交互阶段,即m7阶段。

在一些实施例中,仲裁者可在判断出终端设备hdcp认证成功后,生成投屏数据交互指令,投屏数据交互指令可包括进入下一阶段的指令和选择加密流线程的指令,从而使rtsp交互线程进入下一阶段,并控制rtsp交互线程选择加密流线程处理投屏数据;在一些实施例中,仲裁者可在判断出终端设备hdcp认证失败后,生成投屏数据交互指令,投屏数据交互指令可包括进入下一阶段的指令和选择清流线程的指令,从而使rtsp交互线程进入下一阶段,并控制rtsp交互线程选择清流线程处理投屏数据。

步骤s250:根据仲裁者的投屏数据交互指令进入投屏数据交互阶段,启动相应的投屏数据处理线程。

在一些实施例中,rtsp交互线程可根据仲裁者的投屏数据交互指令,进入m7阶段,选择启动加密流线程或清流处理线程。

步骤s260:根据投屏数据处理线程为加密流线程,通过加密流解析投屏数据,得到第一解析数据。

在一些实施例中,rtsp交互线程在加密流线程启动后,可与终端设备进行交互,使终端设备发送投屏数据,显示设备在接收投屏数据后,通过加密流线程解析投屏数据,得到第一解析数据。

步骤s270:根据投屏数据处理线程为清流线程,通过清流解析投屏数据,得到第二解析数据。

在一些实施例中,rtsp交互线程在清流线程启动后,可与终端设备进行交互,使终端设备发送投屏数据,显示设备在接收投屏数据后,通过清流线程解析投屏数据,得到第二解析数据。

步骤s280:将第一解析数据或第二解析数据发送到仲裁者。

在一些实施例中,rtsp交互线程在m7阶段得到第一解析数据或第二解析数据后,将第一解析数据或第二解析数据发送到仲裁者,供仲裁者控制显示设备播放投屏结果,如在显示器上显示终端设备的屏幕内容、播放来自终端设备的音频等。

可见,显示设备通过基于miracast服务设置了一个仲裁者来控制rtsp交互线程,从而在rtsp交互线程执行投屏数据交互之前,判断出终端设备是否hdcp认证成功,从而根据终端设备hdcp认证成功和hdcp认证失败这两种情况,控制rtsp交互线程在投屏数据交互时选择对应的投屏数据处理线程,从而解决了因终端设备hdcp认证失败而导致的投屏失败的问题,提高了投屏成功率。

在一些实施例中,仲裁者可在rtsp交互线程执行投屏数据交互之前,先暂停rtsp交互线程,去判断终端设备是否hdcp认证成功,再恢复rtsp交互线程。这种串行方式下,如果终端设备是否hdcp认证成功的判断时间较长,将会导致rtsp交互线程的执行时间延长,导致投屏速度降低。

在一些实施例中,为提高投屏速度,仲裁者可启动一个单独的线程来判断终端设备是否hdcp认证成功,该单独的线程可称为hdcp交互认证线程。仲裁者可控制该单独的线程与rtsp交互线程并行执行,从而当该单独的线程执行时间较短时,可在rtsp交互线程执行投屏数据交互之前,就得到终端设备的认证结果,当该单独的线程执行时间稍长时,在rtsp交互线程执行投屏数据交互之前,该单独的线程没有执行完毕,可先暂停rtsp交互线程,等待该单独的线程没有执行完毕后,得到终端设备的认证结果再恢复rtsp交互线程,与串行方式相比,该并行方式仍能提高投屏速度。

在一些实施例中,仲裁者根据hdcp交互认证线程判断终端设备是否hdcp认证成功的方法可参见图10,包括步骤s1201-s1202。

步骤s1201:根据rtsp交互线程接收到内容保护请求,启动hdcp交互认证线程。

在一些实施例中,仲裁者可根据内容保护请求启动hdcp交互认证线程。hdcp交互认证线程可与rtsp交互线程并行执行,不影响rtsp交互线程的执行过程,在hdcp交互认证线程执行过程中,rtsp交互线程可继续执行m3阶段的后续流程。

步骤s1202:接收来自hdcp交互认证线程的认证结果,根据认证结果确定终端设备是否hdcp认证成功。

在一些实施例中,hdcp交互认证线程的认证结果包括认证成功和认证失败,仲裁者根据认证结果获悉终端设备的hdcp认证情况。

在一些实施例中,hdcp交互认证线程可参见图11,如图11所示,hdcp交互认证线程可包括如下步骤:

步骤s310:建立超时机制。

在一些实施例中,hdcp交互认证线程在启动后可建立超时机制,超时机制用于限定hdcp交互认证线程启动至显示设备的hdcp交互端口号接收终端设备的数据包的时间范围,该时间范围可为0~200ms或0-500ms。

步骤s320:判断显示设备的hdcp交互端口号是否接收到来自终端设备的数据包。

在一些实施例中,在上述时间范围内,hdcp交互认证线程判断显示设备的hdcp交互端口号是否接收到来自终端设备的数据包。

步骤s330:停止hdcp交互认证。

在一些实施例中,根据超时机制限定的时间范围内hdcp交互端口号接收到终端设备的数据包,停止hdcp交互认证,即停止判断hdcp交互端口号是否接收到来自终端设备的数据包,并判定终端设备的认证结果为认证失败。

步骤s340:向仲裁者发送认证结果。

在一些实施例中,根据超时机制限定的时间范围内hdcp交互端口号接收到终端设备的数据包,判定终端设备的认证结果为认证成功。

在一些实施中,hdcp交互认证线程将认证结果发送到仲裁者,供仲裁者判断终端设备是否认证成功,进而控制rtsp交互线程进入m7阶段,具体控制方法上文已有描述,在此不再赘述。

由上述实施例可见,本申请实施例通过判断终端设备是否认证成功来确定投屏数据的解析线程,解决了只根据内容保护请求就判定采用加密流线程解析投屏数据,可能会导致投屏数据解析失败,进而导致投屏失败的问题,提高了投屏功能的兼容性。进一步的,本申请通过独立的hdcp交互认证线程判断终端设备发送的投屏数据是否为加密数据,在hdcp交互认证解析投屏数据之前通知rtsp交互线程认证结果,不影响rtsp交互线程的正常运行。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括要素的电路结构、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。以上的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1