掌桥专利:专业的专利平台
掌桥专利
首页

显示设备及媒资播放系统

文献发布时间:2024-04-18 19:58:21


显示设备及媒资播放系统

技术领域

本申请涉及显示设备技术领域,尤其涉及一种显示设备及媒资播放系统。

背景技术

中间件是一种将应用程序与底层的操作系统、硬件细节隔离开的软件运行平台,通常由虚拟机等构成,中间件的作用是使机顶盒的基本通用功能以应用程序编程接口的形式提供给机顶盒生产厂家,以实现数字电视交互功能的标准化。

Ginga中间件标准是南美洲地区多个国家联合制定的数字电视中间件标准,用于在数字电视广播中提供可与用户交互的多媒体内容,提升用户收看数字电视的体验。Ginga中间件标准逐渐演进以便于更好的适应用户需求,目前,Ginga中间件标准已经由Ginga-A中间件标准、Ginga-B中间件标准、Ginga-C中间件标准演进至Ginga-D中间件标准。

然而,相关技术中,显示设备尚不支持Ginga-D中间件标准。

发明内容

本申请实施例提供了一种显示设备及媒资播放系统,能够解决相关技术中不支持Ginga-D中间件标准的问题,使显示设备支持Ginga-D中间件标准,使第一应用可以支持HTML5格式,并可以播放通过DASH/HLS传输协议传输的媒资。

第一方面,本申请示出一种显示设备,包括:显示器;控制器,包括:中间件标准模块以及播放控制模块;被配置为:接收用户发送的用于播放第一应用的媒资的控制指令;响应于控制指令,获取第一应用的媒资;其中,第一应用包括采用HTML5格式建立的应用;媒资包括采用DASH/HLS流媒体协议传输的媒资;从第一应用的媒资中过滤第一数据;控制中间件标准模块开启与播放控制模块之间的通信链路,以将第一数据发送至中间件标准模块;控制播放控制模块通过通信链路从中间件标准模块中获取第一数据,以及播放第一数据。采用本实施方式,显示设备可以支持采用HTML5格式建立的应用,并支持采用DASH/HLS流媒体协议传输的媒资,能够支持Ginga-D中间件标准。

在一些实施例中,中间件标准模块包括:网络服务模块,以及网络服务管理子模块;控制器执行接收用户发送的用于播放第一应用的媒资的控制指令的步骤之前,被进一步配置为:通过网络服务模块与网络服务管理子模块建立连接;当网络服务模块启动时,控制网络服务管理子模块向网络服务模块注册回调函数;控制网络服务模块向同一局域网内的移动设备发送用于询问是否访问显示设备的询问指令;如果移动设备确定访问显示设备,接收移动设备发送的用于播放第一应用的媒资的控制指令。采用本实施方式,显示设备能够实现同一局域网内移动设备的连接和授权。

在一些实施例中,中间件标准模块还包括:应用管理子模块;播放控制模块还包括:应用性能管理子模块;控制器执行获取第一应用的媒资的步骤之前,被进一步配置为:控制应用管理子模块通过远程过程调用协议与应用性能管理子模块连接;控制应用管理子模块向应用性能管理子模块发送第一消息,第一消息用于表征第一应用的待运行事件;待运行事件用于辅助第一应用的运行;控制应用性能管理子模块接收第一消息,以通过第一消息运行待运行事件,得到已运行事件;根据已运行事件运行第一应用。采用本实施方式,显示设备能够实现按键事件的分发,应用状态的切换。

在一些实施例中,中间件标准模块还包括:格式过滤子模块;播放控制模块还包括:数字电视子模块;控制器执行从第一应用的媒资中过滤第一数据的步骤,被进一步配置为:控制格式过滤子模块向数字电视子模块发送用于请求过滤第一数据的请求指令;响应于请求指令,控制数字电视子模块从第一应用的媒资中过滤第一数据。采用本实施方式,显示设备能够将过滤后的第一数据以获取所需格式的第一数据。

在一些实施例中,显示设备还包括:存储器;控制器执行控制中间件标准模块开启与播放控制模块之间的通信链路;以使第一数据发送至中间件标准模块的步骤,被进一步配置为:当数字电视子模块从第一应用的媒资中过滤第一数据后,控制数字电视子模块将第一数据发送至存储器;控制格式过滤子模块从存储器中获取第一数据。采用本实施方式,显示设备可以获取并解析第一数据以对第一应用数据进行下载、解析、执行和渲染。

在一些实施例中,中间件标准模块还包括:媒体管理子模块;播放控制模块还包括:音视频播放器子模块;控制器执行控制播放控制模块通过通信链路从中间件标准模块中获取第一数据,播放第一数据的步骤,被进一步配置为:控制媒体管理子模块将从格式过滤子模块中获取的第一数据发送至音视频播放器子模块;控制音视频播放器子模块接收第一数据并根据音视频播放器子模块接收第一数据的速度对第一数据进行解码,以播放解码后的第一数据。采用本实施方式,显示设备可以实现DASH/HLS流媒体资源的播放和解析。

在一些实施例中,控制器执行控制音视频播放器子模块接收第一数据并根据自身接收第一数据的速度对第一数据进行解码的步骤,被进一步配置为:获取音视频播放器子模块中的缓冲器的容量;如果缓冲器的容量低于预设阈值,控制音视频播放器子模块向媒体管理子模块请求加快第一数据的发送速度;如果缓冲器的容量高于预设阈值,控制音视频播放器子模块向媒体管理子模块请求降低第一数据的发送速度。采用本实施方式,显示设备可以实现DASH/HLS流媒体资源的播放。

在一些实施例中,中间件标准模块还包括:图像管理子模块;播放控制模块还包括:图像显示子模块;控制器执行控制播放控制模块通过通信链路从中间件标准模块中获取第一数据,播放第一数据的步骤,被进一步配置为:控制图像管理子模块调用图像显示接口,以通过图像显示接口与图像显示子模块连接;控制图像管理子模块建立第一窗口和第二窗口;第二窗口用于绘制第一数据;第一窗口用于更新第二窗口已绘制的第一数据;控制图像显示子模块显示第一窗口,以使第一窗口播放第一数据。采用本实施方式,显示设备能够同步显示应用的内容,并提高显示的效率。

在一些实施例中,中间件标准模块还包括:调谐器子模块;控制器执行播放第一数据的步骤之后,被进一步配置为:控制调谐器子模块向数字电视子模块发送用于切换第一数据的切换指令;响应于切换指令,控制数字电视子模块切换第一数据。采用本实施方式,显示设备能够实现第一应用内的切台动作。

第二方面,本申请还示出了一种媒资播放系统,包括:中间件标准模块以及播放控制模块;中间件标准模块被配置为:获取第一应用的媒资;其中,第一应用包括采用HTML5格式建立的应用;媒资包括采用DASH/HLS流媒体协议传输的媒资;从第一应用的媒资中过滤第一数据;开启与播放控制模块之间的通信链路;以使第一数据发送至中间件标准模块;播放控制模块被配置为:通过通信链路从中间件标准模块中获取第一数据,播放第一数据。采用本实施方式,显示设备可以支持采用HTML5格式建立的应用,并支持采用DASH/HLS流媒体协议传输的媒资,能够支持Ginga-D中间件标准。以上示出的技术方案,能够解决相关技术中不支持Ginga-D中间件标准的问题,使显示设备支持Ginga-D中间件标准,使第一应用可以支持HTML5格式,并可以播放通过DASH/HLS传输协议传输的媒资。

附图说明

图1示例性示出了本申请实施例的显示设备与控制装置之间操作场景的示意图;

图2示例性示出了根据示例性实施例中控制装置100的配置框图;

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

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

图5示例性示出了根据示例性实施例的Ginga应用使用场景示意图;

图6示例性示出了根据示例性实施例的Ginga标准的演进过程;

图7示例性示出了根据示例性实施例的显示设备配置流程图;

图8示例性示出了根据示例性实施例的媒资播放系统示意图;

图9示例性示出了网络服务模块、网络服务管理子模块与UI模块交互流程图;

图10示例性示出了应用管理子模块与应用性能管理子模块交互流程图;

图11示例性示出了应用管理子模块与应用性能管理子模块交互流程图;

图12示例性示出了格式过滤子模块与数字电视子模块的交互流程图;

图13示例性示出了媒体管理子模块与音视频播放器子模块的交互流程图;

图14示例性示出了图像管理子模块与图像显示子模块交互流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例的技术方案进行清楚地描述。

在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

为了便于技术人员理解本申请实施例的技术方案,下面先对本申请实施例涉及的技术术语进行解释说明。

1、中间件,是一种将应用程序与底层的操作系统、硬件细节隔离开来的软件环境,通常由各种虚拟机构成,如Java虚拟机,HTML虚拟机等。中间件的作用是使数字电视、机顶盒的基本通用功能以应用程序接口API的形式提供给数字电视和机顶盒,以实现数字电视交互功能的标准化,同时使业务项目以应用程序的形式通过传输信道,使下载到机顶盒的数据量减小到最低限度。

2、Ginga,是一种基于ISDB-T制式的数字地面电视中间件标准,增强了数字电视的交互性,支持用户在观看数字电视(Digital Television,DTV)时,同时免费享受在线服务。

3、超文本标记语言5(Hyper Text Mark-up Language5,HTML5),是构建网页内容的一种语言描述方式,与传统的技术相比,HTML5的语法特征更加明显,并且结合了SVG的内容,这些内容在网页中使用可以更加便捷地处理多媒体内容。

4、高效视频编码(High Efficiency Video Coding,HEVC),即H.265,是在现有H.264基础上,对码流、编码质量、延时和算法复杂度进行改善的新的视频编码标准,较于H.264可以提高压缩效率、提高鲁棒性以及错误恢复能力,减少实时时延、减少信道获取时间以及降低复杂度。

5、NCAR命令语言(NCAR Command Language,NCL)是一种专门为数据使用、分析、可视化而设计的编程语言。

本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。图1和图2为本申请的显示设备的一种具体实施方式。

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

在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。

在一些实施例中,也可以使用终端设备300(如移动设备、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在终端设备上运行的应用程序控制显示设备200。

在一些实施例中,显示设备200还可以采用除了控制装置100和终端设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。

在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。

图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。

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

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

在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。

在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。

在一些实施例中,显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。

在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。

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

在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。

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

在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。

在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。

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

在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。

在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。

CPU处理器。用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。

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

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

在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。

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

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

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

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

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

如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。

应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);

应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。

原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。

中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。

以上实施例示例性示出了显示设备200的硬件/软件架构以及功能实现等内容。在一些实施例中,部分地区的部分显示设备200采用Ginga的中间件标准,支持具备Ginga功能的数字电视。具体实现中,显示设备200可以通过机顶盒/接收机等设备接收发射站发射的DTV信号,DTV信号以码流的形式传输,DTV码流中携带有Gnga数据,Ginga数据中设置有标记信息,以便显示设备200能够准确从DTV码流中识别并准确过滤出Ginga数据,对Ginga数据进行解复用,以通过视频播放器/音频播放器播放Ginga数据。

图5示例性示出了一种Ginga应用使用场景示意图。如图5所示,显示设备200在播放数字电视节目时,用户可通过点击控制装置100上的指定按键,或者UI界面上的指定控件等预设操作,以调出Ginga应用。示例的,用户在通过显示设备200观看选举直播时,可以通过Ginga应用查看候选人信息并进行投票操作。用户还可以在通过显示设备200观看电视剧时,通过Ginga应用获得电视剧的剧情介绍以及人物信息。

Ginga标准逐渐演进以便于更好的适应用户需求,如图6所示,图6示出了Ginga标准由Profile A标准、Profile B标准、Profile C标准至Profile D标准的演进过程,其中,Profile A标准不能对视频流进行处理,仅支持NCL语言,不支持网页服务的对象轮播(Object carrousel),不支持永久性应用(Persistent apps)、不支持网页服务器(Webserver);Profile B标准仅支持对MPEG-1视频编码格式的视频流进行处理,仅支持NCL语言,不支持网页服务的对象轮播(Object carrousel),不支持永久性应用(Persistentapps)、不支持网页服务器(Web server);Profile C标准可以支持对H.264视频编码格式的视频流进行处理,仅支持NCL语言,不支持网页服务的对象轮播(Object carrousel),支持永久性应用(Persistent apps)、不支持网页服务器(Web server);Profile D标准要求支持对H.264视频编码格式的视频流进行处理,支持NCL语言和HTML5语言,支持网页服务的对象轮播(Object carrousel),支持永久性应用(Persistent apps)且支持网页服务器(Webserver)。Ginga-D标准要求支持Profile A-Profile D的全部特性。

然而,部分显示设备200尚未实现支持Ginga-D标准。以改进显示设备200的系统以使显示设备200支持H.265视频编码格式进行说明,H.265视频编码格式虽然即将成为支持超高清分辨率的显示设备200进行视频编码的首选,但是尚未提供妥善的解决方案将超高清分辨率视频加入已有的蓝光标准中,即使H.265视频编码格式并不需要对硬件架构进行特殊改进,但是仍需要制造新的播放器以实现显示设备200对H.265视频编码格式的支持,因此,显示设备200需要对系统的相关架构进行改进,以实现对Ginga-D标准的支持。

为此,本申请示出了一种显示设备200及媒资播放系统,能够支持Ginga-D标准,提高用户体验。需要注意的是,本申请仅对Profile A-Profile D的部分特性进行了说明,本申请实施例示出的显示设备200能够支持Ginga-D标准的全部特性。

本申请实施例示出一种显示设备200,包括:显示器260;控制器250,包括:中间件标准模块以及播放控制模块,用于执行如图7所示的显示设备200的配置流程。在一些实施例中,中间件标准模块为Ginga模块,用于支持Ginga-D标准的特性。

显示设备200播放媒资时,接收到用户发送的用于播放第一应用的控制指令,示例的,第一应用可以为Ginga应用。显示设备200响应于控制指令,获取Ginga应用的媒资,从媒资中过滤出第一数据,示例的,第一数据可以为Ginga数据,显示设备200过滤出Ginga数据后,将Ginga数据发送至Ginga模块,其中,Ginga应用包括采用HTML5格式建立的应用;媒资包括采用DASH/HLS流媒体协议传输的媒资。显示设备200从Ginga应用的媒资中过滤Ginga数据;控制Ginga模块开启与播放控制模块之间的通信链路;以使Ginga数据发送至Ginga模块;控制播放控制模块通过通信链路从Ginga模块中获取Ginga数据,播放Ginga数据。

在进行数据交互的过程中,用户可以通过控制装置100控制显示设备200;控制装置100可以采用直接的无线连接方式进行通信,也可以采用非直接连接的方式进行通信。即在一些实施例中,控制装置100可以通过蓝牙、红外线等直接连接方式与显示设备200进行通信。当用户通过控制装置100向显示设备200发送用于播放Ginga应用的控制指令时,控制装置100可以直接将控制指令数据通过蓝牙或者红外线发送到显示设备200。

显示设备200可以提供广播接收电视功能,还可以附加提供计算机支持功能的网络电视功能,包括但不限于,网络电视、互联网协议电视(IPTV)等。显示设备200可以通过广播接收实时获取媒资以根据获取到的媒资过滤出Ginga数据。

显示设备200还可以与服务器400通过多种通信方式进行数据通信,例如可通过局域网(Local Area Network,LAN)、无线局域网(Wireless Local Area Network,WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息以及电子节目指南(Electrical Program Guide,EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群。可以包括一类或多类服务器400。通过服务器400提供视频点播和广告服务等其他网络服务内容。显示设备200还可以通过与服务器400进行数据通信实时获取媒资以根据获取到的媒资过滤出Ginga数据。

显示设备200通过媒资播放系统实现上述实施例,图8示例性示出了本申请实施例提供的媒资播放系统,该媒资播放系统可支持Ginga-D标准。如图8所示,媒资播放系统包括位于最上层的Ginga模块,用于实现Ginga-D标准的全部业务,位于中间件层的播放控制模块,用于为Ginga-D标准的全部业务提供支撑,位于底层的硬件模块,用于提供支撑Ginga-D标准的硬件架构。

在一些实施例中,Ginga模块包括:Ginga-HTML5应用、Ginga-NCL应用、HTML5引擎(HTML5 Engine)、网络服务(Ginga CC WebServices)模块、共同核心(Common Core)模块以及移植层。

Ginga-HTML5应用以及Ginga-NCL应用位于Ginga模块中最上层,Ginga-HTML5应用为网页类应用,采用HTML5引擎可对其进行解析、渲染以及显示,Ginga-HTML5应用支持基于DASH/HLS协议的流媒体音视频的播放。Ginga-HTML5应用能够对采用DASH/HLS协议的流媒体音视频进行解析,解析后通过GStreamer播放管道对解析后的流媒体音视频进行解复用,再将解复用后的流媒体音视频与播放控制模块中的音视频播放器对接以实现流媒体音视频的播放。

Ginga-NCL应用为本地应用,包括:NCL文档、Lua脚本以及NCL引擎。Ginga-NCL应用可用于通过NCL引擎实时解析NCL文档,并将NCL文档进行UI显示;解释执行Lua脚本,以根据Lua脚本执行程序功能;以及进行交互式响应及媒体播放控制等。

网络服务模块包括:表现层状态转移应用程序接口(Representational StateTransfer Application Programming Interface,REST APIs)、设备发现服务(SimpleService Discovery Protocol Server,SSDP Server)、超文本传输协议服务(Hyper TextTransfer Protocol Server,HTTP Server)以及Bindings。其中,SSDP服务用于发现同一局域网内的移动设备,并向移动设备发送用于确认是否与显示设备200连接的询问指令,当移动设备响应于询问指令与显示设备200连接后,用户可以通过移动设备访问HTTP Server提供的服务。

移植层包括:操作系统抽象层(OS Abstract layer)子模块、图像管理子模块(Graphic Manager)、应用管理(Application Manager)子模块、媒体管理(Media Manager)子模块、设备管理(Device Manager)子模块、音频/视频管理器(Audio/Video Manager)子模块、资产管理(Property Manager)子模块、格式过滤(Section/PES/TS Filter)子模块、调谐器(Tuner)子模块、解复用(Demux)子模块、网络服务管理(Webservices Manager)子模块。

播放控制模块包括:图像显示(DFB)子模块、业务逻辑(BIZ)子模块、数字电视(DTV)子模块、视频(Video)子模块、音频(Audio)子模块、音视频播放器(ES player)子模块、应用性能管理(APM)子模块、字体设置(Fonts)子模块、UI模块。需要说明的是,本申请的播放控制模块可以适用于VIDAA系统。

图9示例性示出了本申请实施例中网络服务模块、网络服务管理子模块与UI模块交互流程图。如图9所示,显示设备200通过网络服务模块与网络服务管理子模块建立连接,当网络服务模块启动时,显示设备200控制网络服务管理子模块向网络服务模块注册回调函数,当回调函数注册完成后,显示设备200通过网络服务模块中的设备发现服务向移动设备发送用于询问是否访问显示设备200的询问指令,移动设备接收到询问指令后,可以主动向网络服务模块请求授权访问显示设备200,显示设备200通过网络服务模块接收到移动设备的授权请求后,通知网络服务管理子模块显示“授权对话框”,并控制网络服务管理子模块通知UI模块显示“授权对话框”。用户通过UI模块看到“授权对话框”后,在“授权对话框”界面点击授权,显示设备200通过网络服务管理子模块接收到用户授权指令后,通知网络服务模块确认授权,当网络服务模块收到确认授权后,显示设备200将移动设备端的用户信息保存至存储模块,并通知UI模块关闭“授权对话框”界面,显示设备200控制网络服务模块通过回调函数通知网络服务管理子模块有新设备添加,网络服务管理子模块通知UI模块更新设备列表,完成这一交互流程之后,显示设备200与移动设备完成授权过程,显示设备200可以接收移动设备发送的用于播放Ginga应用的媒资的控制指令。

图10示例性示出了本申请实施例中应用管理子模块与应用性能管理子模块通过远程过程调用协议交互流程图。如图10所示,显示设备200控制应用管理子模块通过远程过程调用协议与应用性能管理子模块连接,以实现Ginga-NCL应用和Ginga-HTML5应用的辅助运行事件,其中,辅助运行事件可以包括:焦点申请事件、焦点释放事件、按键分发处理事件、生命周期管理事件等。远程过程调用协议(Remote Procedure Call,RPC)是一种计算机通信协议,该协议允许运行于一台计算机的程序调用另一台计算机的子程序。需要说明的是,Ginga模块运行时,通常处于独立进程中,播放控制模块可以分布在多个独立的进程中,其中应用性能管理子模块处于系统服务(systemservice)进程中,应用管理子模块与应用性能管理子模块的交互过程是通过RPC协议实现的Ginga模块的独立进程与播放控制模块中的系统服务进程间的通信。

显示设备200控制应用管理子模块向应用性能管理子模块发送第一消息,第一消息用于表征Ginga应用的待运行事件,待运行事件用于辅助Ginga应用的运行,即第一消息可以传递辅助运行事件待运行状态的相关消息。显示设备200控制应用性能管理子模块接收第一消息,以通过第一消息运行待运行事件,即显示设备200根据第一消息启动运行辅助运行事件。

具体实现中,RPC协议基于传输控制协议(Transmission Control Protocol,TCP)的长消息队列,采用代理机制,由显示设备200控制应用管理子模块中的rpc::appmanager::Proxy消息对接应用性能管理子模块中的rpc::appmanager::Stub消息,以控制应用管理模块接收并处理应用性能管理子模块发送的上行消息,得知辅助运行事件处于已运行状态。显示设备200可以根据已运行状态的辅助运行事件运行Ginga应用。

需要说明的是,辅助运行事件包括但不限于上述实施例所述的事件,还可以为应用注册事件等其他可以辅助Ginga应用运行的事件。

图11示例性示出了本申请实施例中辅助运行事件为应用注册事件时应用管理子模块与应用性能管理子模块交互流程示意图。如图11所示,显示设备200控制应用管理子模块通过rpc::appmanager::Proxy消息向应用性能管理子模块发起应用注册消息,当应用性能管理子模块接收到应用注册消息后,显示设备200控制应用性能管理子模块处理应用注册消息以进行应用注册,当完成应用注册后,显示设备200控制应用性能管理子模块通过rpc::appmanager::Stub消息发送完成应用注册消息至应用管理子模块。

显示设备200还可以控制应用性能管理子模块实现对Ginga应用的状态切换,包括:前台切换以及后台切换,当Ginga应用被切换到前台时,显示设备200控制Ginga应用向应用性能管理子模块申请焦点,当Ginga应用从应用性能管理子模块获取焦点后,显示设备200控制应用性能管理子模块将用户按键事件分发给Ginga应用。当Ginga应用被切换到后台时,显示设备200控制Ginga应用向应用性能管理子模块释放焦点,当Ginga应用失去焦点后,显示设备200控制应用性能管理子模块停止将用户按键事件分发给Ginga应用。

图12示例性示出了本申请实施例中格式过滤子模块与数字电视子模块的交互流程示意图。如图12所示,显示设备200的格式过滤子模块与数字电视子模块也通过RPC协议进行通信,显示设备200控制格式过滤子模块向数字电视子模块发送用于请求过滤Ginga数据的请求指令,响应于请求指令,显示设备200控制数字电视子模块从Ginga应用的媒资中过滤Ginga数据。具体实现中,Ginga数据的音视频流来源于数字电视码流,数字电视子模块运行于TVmain进程中,在用户观看或切换数字电视节目时,显示设备200控制数字电视子模块对数字电视信号进行处理,得到数字电视码流。在用户启动播放Ginga应用中的目标资源时,显示设备200控制数字电视子模块根据数字电视码流中Ginga数据的PID创建段过滤器,利用该过滤器使数字电视子模块从数字电视码流中过滤出Ginga数据。显示设备200通过数字电视子模块过滤出Ginga数据后,将Ginga数据发送至存储模块,存储模块中存储的数据可用于显示设备200中任一模块获取数据,显示设备200可以通过格式过滤子模块从存储模块中实时获取数据。其中,存储模块可以被分割为以4k(即4096个字节)大小为单元的连续地址空间。

需要说明的是,显示设备200通过数字电视子模块过滤出的Ginga数据的编码格式包括但不限于为采用H.265视频编码格式,还可以为高级音频编码(Advanced AudioCoding,AAC),高效音频编码(High Efficiency Advanced Audio Coding,HEAAC)等音频编码格式;Ginga数据包括但不限于采用H.265视频编码格式进行编码的数据,Ginga数据可以为低于H.265标准的其他视频编码格式进行编码的数据,也可以为低于HEAAC等其他音频编码格式进行编码的数据。

显示设备200可以从过滤出的Ginga数据中获取Ginga-NCL应用的数据以及Ginga-HTML5应用的URL地址,其中,Ginga-NCL应用的数据包括:Ginga应用页面的NCL文件、Lua脚本文件。Ginga NCL引擎可以根据Ginga数据解析、执行并渲染应用。同时,显示设备200还可以将Ginga-HTML5应用的URL地址设置于HTML5引擎内,以通过HTML5进行应用数据的下载、解析、执行以及渲染。

显示设备200可以控制调谐器子模块向数字电视子模块发送用于切换Ginga数据的切换指令,响应于切换指令,控制数字电视子模块切换Ginga数据。

图13示例性示出了本申请实施例中媒体管理子模块与音视频播放器子模块的交互流程示意图。如图13所示,显示设备200控制媒体管理子模块将从格式过滤子模块中获取的Ginga数据发送至音视频播放器子模块内,并控制音视频播放器子模块接收Ginga数据并根据自身接收Ginga数据的速度对Ginga数据进行解码,以播放解码后的Ginga数据。

显示设备200通过解码器对媒资进行解码。解码器还包括缓冲器。显示设备200在播放Ginga应用中的媒资时,一方面Ginga数据可按帧注入缓冲器,另一方面解码器从缓冲器中按帧读取数据并进行解码,显示设备200将解码完成的数据从缓冲器中清除。在实际应用中,例如恶劣天气影响显示设备200对数字电视信号的接收,又例如用户可以调整Ginga应用中媒资的播放倍速(比如2倍速、0.5倍速)等场景,会导致解码器的缓存和解码无法达到相对平衡。当缓冲器的缓存速度大于解码速度时,缓冲器中的快速进行缓存,可能出现因为缓冲器中缓存过度堆积而导致部分数据销毁,影响媒资播放效果;当缓存速度小于解码速度时,导致媒资出现视频/音频卡顿问题。为此,本申请示例性提供一种基于缓冲器容量进行自适应注入控制的方案。

在一些实施例中,显示设备200控制音视频播放器子模块根据音视频播放器子模块的缓冲器容量进行解码。如果缓冲器的容量低于预设阈值,控制音视频播放器子模块向媒体管理子模块请求加快Ginga数据的发送速度,如果缓冲器的容量高于预设阈值,控制音视频播放器子模块向媒体管理子模块请求降低Ginga数据的发送速度。

示例的,显示设备200可以设置一个预设阈值,也可以设置多个预设阈值。当显示设备200仅设置一个预设阈值,如第一阈值时,当缓冲器容量大于第一阈值时,即认为缓冲器容量处于高位,当缓冲器容量小于第一阈值时,即认为缓冲器容量处于低位。显示设备可以设置多个阈值以区分缓冲器容量,如设置第二阈值和第三阈值,当缓冲器容量大于第二阈值时,即认为缓冲器容量处于高位,当缓冲器容量大于第三阈值小于第二阈值时,即认为缓冲器容量处于中位,当缓冲器容量小于第三阈值时,即认为缓冲器容量处于低位。

以设置一个预设阈值为例,显示设备200用过音视频播放器子模块根据缓冲器容量控制媒资视频帧的注入速度,当缓冲器容量低于第一阈值时,显示设备200控制媒体管理子模块从格式过滤子模块中获取Ginga数据,当媒体管理子模块接收到Ginga数据后,将Ginga数据输入至缓冲器中,显示设备200控制解码器从缓冲其中获取数据进行解码。当解码器的解码速度慢时,缓冲器容量减少,当缓冲器容量达到第一阈值后,显示设备200控制音视频播放器向媒体管理子模块请求降低Ginga数据的发送速度或者暂停获取Ginga数据,直至缓冲器容量恢复至第一阈值下以后,重新向媒体管理子模块请求获取Ginga数据。

显示设备200能够通过音频/视频管理器与音频子模块和视频子模块交互,以实现音量大小的控制和视频窗口的控制。显示设备200可实现在Ginga应用内小窗口播放数字电视,用户可以一边浏览Ginga应用内的资讯,一边观看数字电视内容。以显示设备为55寸的电视为例,显示设备200的分辨率为3840×2160,则Ginga应用内小窗口的坐标可以设置为(1622,114,2004,1128)。对应的,当显示设备200为43寸的电视时,显示设备200的分辨率为1920×1080,因此,相对于55寸电视,Ginga应用内小窗口的宽度缩放比例为:1920/3840;高度缩放比例为:1080/2160;则Ginga应用内小窗口的坐标可以设置为(811,57,1002,564)。对应的,当显示设备200为32寸电视时,显示设备200的分辨率为1366×768;因此,相对于55寸电视,Ginga应用内小窗口的宽度缩放比例为:1366/3840;宽度缩放比例为:768/2160;则Ginga应用内小窗口的坐标可以设置为(577,41,713,401)。

图14示例性示出了本申请实施例示出的图像管理子模块与图像显示子模块交互流程示意图。如图14所示,显示设备200可以控制图像管理子模块调用图像显示接口,以与图像显示子模块连接;当图像管理子模块与图像显示子模块连接后,显示设备200控制图像管理子模块建立第一窗口和第二窗口;第二窗口用于绘制Ginga数据;第一窗口用于更新第二窗口已绘制的Ginga数据;显示设备200控制图像显示子模块显示第一窗口,以使第一窗口播放Ginga数据。

第一窗口的尺寸根据不同尺寸的显示设备200进行设置,根据不同显示设备200支持的分辨率大小确定,在支持4k分辨率的显示设备200中,第一窗口支持的尺寸可以为1920×1080;在支持2k分辨率的显示设备200中,第一窗口的尺寸可以为1280×720,第二窗口的尺寸固定为1280×720。当第二窗口的内容复制到第一窗口时,第二窗口中内容的宽和高按比例缩放。

基于上述显示设备,本申请部分实施例中还提供一种媒资播放系统,包括:Ginga模块以及播放控制模块;Ginga模块被配置为:获取Ginga应用的媒资;其中,Ginga应用包括采用HTML5格式建立的应用;媒资包括采用DASH/HLS流媒体协议传输的媒资;从Ginga应用的媒资中过滤Ginga数据;开启与播放控制模块之间的通信链路;以使Ginga数据发送至Ginga模块;

播放控制模块被配置为:通过通信链路从Ginga模块中获取Ginga数据,播放Ginga数据。

由以上技术方案可知,上述实施例提供的媒资播放系统能够解决相关技术中不支持Ginga-D中间件标准的问题,使显示设备支持Ginga-D中间件标准,使Ginga应用可以支持HTML5格式,并可以播放通过DASH/HLS传输协议传输的媒资。

本申请提供的实施例之间的相似部分相互参见即可,以上的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。

相关技术
  • 一种媒资推荐方法、推荐媒资的播放方法及显示设备
  • 一种媒资推荐方法、推荐媒资的播放方法及显示设备
技术分类

06120116483187