CN117939213A - 显示设备、多窗口显示方法及存储介质 - Google Patents

显示设备、多窗口显示方法及存储介质 Download PDF

Info

Publication number
CN117939213A
CN117939213A CN202410004265.2A CN202410004265A CN117939213A CN 117939213 A CN117939213 A CN 117939213A CN 202410004265 A CN202410004265 A CN 202410004265A CN 117939213 A CN117939213 A CN 117939213A
Authority
CN
China
Prior art keywords
window
target
video
application
applications
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.)
Pending
Application number
CN202410004265.2A
Other languages
English (en)
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.)
Hisense Visual Technology Co Ltd
Original Assignee
Hisense Visual 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 Hisense Visual Technology Co Ltd filed Critical Hisense Visual Technology Co Ltd
Priority to CN202410004265.2A priority Critical patent/CN117939213A/zh
Publication of CN117939213A publication Critical patent/CN117939213A/zh
Pending legal-status Critical Current

Links

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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本公开涉及一种显示设备、多窗口显示方法及存储介质。该显示设备包括:控制器,被配置为:接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;响应于所述多窗口播放指令,确定对应的所述多个应用;针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;获取所述每一个应用对应的待播放视频流以及目标窗口区域;调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。本公开实施例用于提高用户在通过多窗口观看不同视频时的观感体验。

Description

显示设备、多窗口显示方法及存储介质
技术领域
本公开涉及多窗口显示技术领域,尤其涉及一种显示设备、多窗口显示方法及存储介质。
背景技术
目前,显示设备通常可以在显示屏上通过多个视频窗口观看多个视频画面,例如,安卓系统提供的画中画功能。但是,在现有安卓系统提供的画中画功能依然存在一些功能上的限制。
具体的,在显示设备上,可以通过两个窗口播放媒资,窗口1可以播放媒资应用程序提供的电影,窗口2可以通过投屏功能播放用户手机上的游戏画面;上述两个窗口对应的视频在显示时存在对应的显示要求,窗口1中的图像需要进行画质PQ(Picture Quality)处理;窗口2中播放的视频要求低延时播放,因此为了降低延时需要省略对解码后的视频进行画质PQ处理。
但是,目前的显示设备无法支持对不同显示要求的视频进行区别处理,是因为显示设备在解码各个窗口对应的视频流时,无法区分各个窗口对应的显示要求,进而也就只能采用统一的显示标准进行解码播放;因此,便无法满足每个窗口对视频播放的显示要求,从而使得视频播放时效果不佳,影响用户观看体验。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种显示设备、多窗口显示方法及存储介质,用于提高用户在通过多窗口观看不同视频时的观感体验。
第一方面,本公开提供了一种显示设备,包括:
控制器,被配置为:
接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;
响应于所述多窗口播放指令,确定对应的所述多个应用;
针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;
获取所述每一个应用对应的待播放视频流以及目标窗口区域;
调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
作为本公开实施例一种可选的实施方式,在所述响应于所述多窗口播放指令,确定对应的所述多个应用之后,所述控制器还被配置为:
针对所述多个应用中的每一个应用,创建对应的所述播放器实例以及Surface窗口。
作为本公开实施例一种可选的实施方式,所述控制器还被配置为:
通过所述播放器实例解码所述待播放视频流,获取对应的视频参数;
基于所述视频参数渲染所述待播放视频流,获取所述目标视频并显示在所述目标窗口区域中。
作为本公开实施例一种可选的实施方式,所述控制器还被配置为:
在创建所述每一个应用对应的所述播放器实例之后,生成所述播放器实例对应的处理线程以及所述处理线程的线程标识;
针对所述每一个应用的所述播放器实例,确定对应的所述目标窗口区域和所述线程标识,并将所述目标窗口区域和所述线程标识进行关联,生成对应关系并保存。
作为本公开实施例一种可选的实施方式,所述控制器具体被配置为:
通过所述播放器实例解码所述待播放视频流,获取对应的视频参数;
基于所述视频参数渲染所述待播放视频流,获取所述目标视频并显示在所述目标窗口区域中。
作为本公开实施例一种可选的实施方式,所述控制器还被配置为:在获取所述目标视频之后,对所述目标视频的画面进行画质调整。
作为本公开实施例一种可选的实施方式,所述控制器还被配置为:
检测所述多个应用对应的待播放视频流的第一帧是否已经被解码;
若否,则执行所述响应于所述多窗口播放指令,确定对应的所述多个应用,至,所述调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放的步骤;
若是,则基于所述对应关系,获取所述每一个应用对应的所述播放器实例的所述线程标识,以根据所述线程标识确定对应的所述目标显示区域,解码所述待播放视频流生成目标视频并在所述目标窗口区域播放。
第二方面,本公开提供了一种多窗口显示方法,包括:
接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;
响应于所述多窗口播放指令,确定对应的所述多个应用;
针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;
获取所述每一个应用对应的待播放视频流以及目标窗口区域;
调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
作为本公开实施例一种可选的实施方式,所述获取所述每一个应用对应的待播放视频流以及目标窗口区域,包括:
针对所述多个应用中的每一个应用,获取对应的播放器实例中的Surface窗口;
基于所述Surface窗口,获取所述目标窗口区域。
第三方面,提供一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第二方面所示的多窗口显示方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;响应于所述多窗口播放指令,确定对应的所述多个应用;针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;获取所述每一个应用对应的待播放视频流以及目标窗口区域;调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。本公开实施例能够先确定需要进行多窗口播放的多个应用,然后获取每一个应用对应的播放器实例以及处理线程,进而使得各个应用通过对应的处理线程结合播放器实例对待播放视频流进行解码播放,从而能够使得每个应用的待播放视频流可以被独立解码生成对应的目标视频,进而满足各个应用对视频播放时对应的要求,提高用户在通过多窗口观看不同视频时的观感体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的一种多窗口显示方法的场景示意图;
图2为根据本公开一个或多个实施例的显示设备的硬件配置框图;
图3为根据本公开一个或多个实施例的控制设备的配置框图;
图4为根据本公开一个或多个实施例的显示设备的软件配置示意图;
图5为本公开实施例提供的一种多窗口显示方法的流程示意图;
图6为本公开实施例提供的一种多窗口显示方法的软件架构示意图;
图7是本公开实施例提供的另一种多窗口显示方法的软件架构示意图;
图8是本公开实施例提供的另一种多窗口显示方法的流程示意图;
图9是本公开实施例提供的一种多窗口显示方法的流程示意图;
图10是本公开实施例提供的一种多窗口显示方法的流程示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
目前的显示设备无法支持对不同显示要求的视频进行区别处理,是因为显示设备在解码各个窗口对应的视频流时,无法区分各个窗口对应的显示要求,进而也就只能采用统一的显示标准进行解码播放;因此,便无法满足每个窗口对视频播放的显示要求,从而使得视频播放时效果不佳,影响用户观看体验。
为了解决上述问题,本公开实提供了一中多窗口显示方法:本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;响应于所述多窗口播放指令,确定对应的所述多个应用;针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;获取所述每一个应用对应的待播放视频流以及目标窗口区域;调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。本公开实施例能够先确定需要进行多窗口播放的多个应用,然后获取每一个应用对应的播放器实例以及处理线程,进而使得各个应用通过对应的处理线程结合播放器实例对待播放视频流进行解码播放,从而能够使得每个应用的待播放视频流可以被独立解码生成对应的目标视频,进而满足各个应用对视频播放时对应的要求,提高用户在通过多窗口观看不同视频时的观感体验。
图1为本公开实施例提供的显示设备的控制方法的场景架构示意图。如图1所示,本公开实施例提供的场景架构,包括:显示设备100、服务器200、以及控制设备300。
本公开实施例提供的显示设备可以具有多种实施形式,例如,显示设备可以为电视、具有显示功能的智能音箱冰箱、具有显示功能的窗帘、个人计算机(PersonalComputer,PC)、激光投影设备、显示器(monitor)、电子白板(electronic bulletinboard)、可穿戴设备、车载设备、电子桌面(electronic table)等。本公开实施例对显示设备的具体类型不做限定。
在一些实施例中,控制设备300可以是遥控器,遥控器和显示设备100的通信可以包括红外协议通信、蓝牙协议通信、无线或其他有线方式等,通过上述通信方式能够控制显示设备100。用户可以通过遥控器上按键、语音输入以及控制面板输入等输入用户指令,来控制显示设备100。如:用户可以通过遥控器上音量加减键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备100的功能。
在一些实施例中,也可以使用平板电脑、计算机、笔记本电脑和其它终端设备来控制显示设备100。
在一些实施例中,显示设备100可以不使用上述的终端设备或控制设备接收指令,而是通过触摸或者手势等接收用户的控制。
在一些实施例中,显示设备100还可以采用除了控制设备和终端设备之外的方式进行控制,例如,可以通过显示设备100设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备100设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,终端设备可与显示设备100安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。显示设备100还可与服务器通过多种通信方式进行数据通信,可允许显示设备100通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。服务器可以向显示设备100提供各种内容和互动。显示设备100,可以为液晶显示器、OLED显示器或者投影显示设备等。显示设备100除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。
图2示出了根据示例性实施例中显示设备100的硬件配置框图。如图2,显示设备包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。
在一些实施例中控制器250包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。
显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备可以通过通信器220与外部控制设备300或服务器200建立控制信号和数据信号的发送和接收。
用户接口,可用于接收用户通过控制设备100(如:红外遥控器等)或触摸或者手势等输入的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备100的整体操作。用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,简称GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口和控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
在一些实施例中,所述控制器250,被配置为:接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;响应于所述多窗口播放指令,确定对应的所述多个应用;针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;获取所述每一个应用对应的待播放视频流以及目标窗口区域;调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
在一些实施例中,所述控制器250,具体被配置为:所述控制器具体被配置为:针对所述多个应用中的每一个应用,获取对应的播放器实例中的Surface窗口;基于所述Surface窗口,获取所述目标窗口区域。
在一些实施例中,在所述响应于所述多窗口播放指令,确定对应的所述多个应用之后,所述控制器250,还被配置为:针对所述多个应用中的每一个应用,创建对应的所述播放器实例以及Surface窗口。
在一些实施例中,所述控制器250,还被配置为:通过所述播放器实例解码所述待播放视频流,获取对应的视频参数;基于所述视频参数渲染所述待播放视频流,获取所述目标视频并显示在所述目标窗口区域中。
在一些实施例中,所述控制器250,还被配置为:在创建所述每一个应用对应的所述播放器实例之后,生成所述播放器实例对应的处理线程以及所述处理线程的线程标识;针对所述每一个应用的所述播放器实例,确定对应的所述目标窗口区域和所述线程标识,并将所述目标窗口区域和所述线程标识进行关联,生成对应关系并保存。
在一些实施例中,所述控制器250,还被配置为:在获取所述目标视频之后,对所述目标视频的画面进行画质调整。
在一些实施例中,所述控制器250,还被配置为:检测所述多个应用对应的待播放视频流的第一帧是否已经被解码;若否,则执行所述响应于所述多窗口播放指令,确定对应的所述多个应用,至,所述调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放的步骤;若是,则基于所述对应关系,获取所述每一个应用对应的所述播放器实例的所述线程标识,以根据所述线程标识确定对应的所述目标显示区域,解码所述待播放视频流生成目标视频并在所述目标窗口区域播放。
图3示例性示出了图1所示实施例中的控制设备300的配置框图。如图3所示,控制设备300包括控制器110、通信接口130、用户接口140、存储器、供电电源。控制设备100可接收用户输入的操作指令,且将操作指令转换为显示设备可识别和响应的指令,以及操作指令或转换语音指令得到的指令转发至显示设备,起到用户与显示设备之间交互中介作用。
图4为根据本公开一个或多个实施例的显示设备100中软件配置示意图,如图4所示,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包括但不限于以上举例。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层,至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
为了更加详细的说明本方案,以下将以示例性的方式结合图5进行说明,可以理解的是,虽然图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。以能够实现本公开实施例中提供的多窗口显示方法为准。
图5为本公开实施例提供的一种多窗口显示方法的流程示意图,如图5所示,该多窗口显示方法具体包括如下步骤S501至S505:
S501、接收多窗口播放指令。
其中,所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频。
当用户在显示设备中想要同时播放多个应用对应的视频画面时,便可以通过预设方式下发所述多窗口播放指令,以实现在所述显示设备上同时观看多个目标视频;示例性的,用户可以在显示设备上观看某媒资APP(应用程序)提供的电视剧的同时,可以下发所述多窗口播放指令,以在观看某媒资APP提供的电视剧的同时,可以进行其他应用的使用,例如、通过游戏APP进行游戏体验、或是通过健身APP进行健身跟练等等。能够满足用户在一个显示设备上,同时通过多种类型APP,进行多个视频的观看。在本公开实施例中,对同时播放的应用不做任何限定。
需要说明的是,本公开主要面对安卓系统的媒体播放器(MediaPlayer),通过本公开提供的方法在显示设备上同时播放多个应用对应的视频。MediaPlayer提供了一种简单的方式来播放音频和视频。安卓系统的Media Player,功能强大,可以播放FLAC(无损音频压缩编码)、APE(流行的数字音乐无损压缩格式之一)和m4a(MPEG-4音频标准文件)格式、ALAC(苹果公司开发的一种无损音频格式)和MKV(高清视频)、HEVC(视频压缩标准)等,而且还可以使用Codecs解码器将Windows Media Player打造成万能播放器。
S502、响应于所述多窗口播放指令,确定对应的所述多个应用。
在一些实施例中,在显示设备接收到所述多窗口播放指令之后,首先需要根据所述多窗口播放指令,确定需要同时播放的应用;具体的,所述多窗口播放指令中可以携带需要同时播放的应用对应的标识(ID),以便所述显示设备根据所述应用对应的标识,确定需要同时播放的应用。进而生成所述创建指令,所述创建指令用于指示所述应用进行播放器实例和Surface窗口的创建,以便后续在生成目标视频时使用。
其中,所述播放器实例可以根据视频流的数据信息输出相应的视频图像和音频。当目标播放器实例与播放窗口关联时即可以将目标播放器实例输出的视频图像在该播放窗口显示,同时目标播放器实例输出的音频可以通过音频输出组件输出声音,进而可以实现对目标视频流的音视频播放。所述Surface窗口,用于对解码器输出的视频进行渲染显示。
需要说明的是,所述线程标识是为了根据所述线程标识去获取各个应用对应的线程,以达到每个应用使用对应的线程调用对应的播放器实例,进而实现各个应用对应的视频流使用对应的处理线程和播放器实施例进行解码获取对应的视频参数,然后进行渲染播放,无需使用统一的视频参数进行渲染播放,进而使得各个应用对应的视频画质、时延满足各个应用的标准。
S503、针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程。
示例性的,当前用户正在通过电视上的媒资APP观看电视剧;同时用户又想将手机上的游戏APP的画面投影在电视上,通过两个窗口分别显示电视剧的画面和手机游戏的画面;用户就可以通过预设的触控方式或者语音指令的方式下发多窗口播放指令。
在显示设备,即电视接收到所述多窗口播放指令之后,根据所述多窗口播放指令中携带的信息,立即响应于所述多窗口播放指令,确定需要同时进行播放的应用,然后获取用于播放各个应用视频流的处理线程个播放器实例,以使后续通过所述处理线程和播放器实例解码渲染所述视频流,实现使用对应的窗口播放各个应用的视频流。
需要说明的是,由于各个应用在对各自视频流的渲染播放时,会设定各自的视频参数,例如,游戏APP在视频延时上会有较高的需求,而一般的媒资APP则没有游戏APP对视频延时的需求高;各种应用也会存在对画质的需求不同;因此,通过各个应用对应的处理线程和播放器实例解码对应的视频流,以在渲染播放时满足不同应用的需求,无需再像现有技术中使用同样的渲染标准进行渲染播放,进而提高用户的观看体验。
在一些实施例中,所述播放器实例可以是基于MediaCodec(媒体编码器)类的解码器组成的,其可以访问底层媒体编解码框架(Stage或OpenMAX),即编解码组件,通常与MediaExtractor、MediaSync、MediaMuxer、MediaCrypto、MediaDrm、Image、Surface和AudioTrack一起使用,MediaCodec几乎是Android播放器硬解码的标配,但是具体使用的是软编解码器还是硬解编解码器,还是和MediaCodec的配置相关。
在一些是实施例中,该多窗口显示方法还包括如下:
针对所述多个应用中的每一个应用,创建所述应用对应的播放器实例以及Surface窗口。
在一些实施例中,所述Surface窗口可以创建在对应的所述播放器中,以通过该窗口显示该播放器实例解码得到的视频图像。需要说明的是,各个应用对应的播放器实例是由各个应用去创建的。
S504、获取各个所述应用对应的待播放视频流以及目标窗口区域。
在一些实施例中,在接收到所述同时播放指令的那一时刻起,多个应用便会将各自对应的待播放视频流传输到显示设备中,以使所述显示设备的播放系统解码所述待播放视频流,进行播放。
需要说明的是,所述各个所述应用对应的目标窗口区域是各个应用的待播放视频流在显示设备上最终能够显示的区域。
S505、调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
具体的,在本公开实施例中,当获取各个所述应用对应的待播放视频流以及目标窗口区域之后,就可以使用各个应用对应的处理线程以及播放器实例,对所述带播放视频流进行解码,渲染播放在对应的目标窗口区域。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;响应于所述多窗口播放指令,确定对应的所述多个应用;针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;获取所述每一个应用对应的待播放视频流以及目标窗口区域;调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。本公开实施例能够先确定需要进行多窗口播放的多个应用,然后获取每一个应用对应的播放器实例以及处理线程,进而使得各个应用通过对应的处理线程结合播放器实例对待播放视频流进行解码播放,从而能够使得每个应用的待播放视频流可以被独立解码生成对应的目标视频,进而满足各个应用对视频播放时对应的要求,提高用户在通过多窗口观看不同视频时的观感体验。
在一些实施例中,参照图6所示,在上述步骤S503中,所述针对所述多个应用中的每一个应用,创建所述应用对应的播放器实例以及Surface窗口之后,该多窗口显示设备还包括如下步骤S601和S602:
S601、在创建所述每一个应用对应的所述播放器实例之后,生成所述播放器实例对应的处理线程以及所述处理线程的线程标识。
在一些实施例中,生成所述播放器实例对应的处理线程以及所述处理线程的线程标识的目的是,在第一帧解码时,通过获取所述各个应用对应的线程标识之后,直接根据所述线程标识,明确与该线程标识对应的目标窗口区域,进而在第一帧之后,无需再获取各个应用对应的Surface窗口,再通过Surface窗口获取目标窗口区域,就可以直接根据对应关系,获取各个应用的待播放视频流在解码之后,供显示播放的目标窗口区域。
S602、针对所述每一个应用的所述播放器实例,确定对应的所述目标窗口区域和所述线程标识,并将所述目标窗口区域和所述线程标识进行关联,生成对应关系并保存。
在一些实施例中,响应于此次多窗口播放指令,生成所述对应关系之后,后续解码所述待播放视频流时,便无需再去根据Surface窗口确定每一个应用对应的目标窗口区域,直接根据所述对应关系,基于每一个应用的播放器实例的线程标识即可确定目标窗口区域,并进行解码渲染播放,提高视频播放效率,降低延时。
作为对上述实施例的扩展与细化,参照图7所示,本公开实施例还提供一种多窗口显示方法,具体步骤包括如下:
S701、接收多窗口播放指令。
其中,所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频。
S702、响应于所述多窗口播放指令,确定对应的所述多个应用。
S703、针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程。
S704、针对所述多个应用中的每一个应用,获取对应的播放器实例中的Surface窗口。
在一些实施例中,就可以根据所述各个应用对应的播放器实例中的Surface窗口获取其在显示设备上的具体的目标窗口区域,具体的,所述Surface窗口是用来展示视频图像的对象,其Surface窗口具有固定的分辨率和像素格式。例如,可以设置为一个800*600像素的窗口,后续解码生成的所述目标视频的视频画面便会显示在该800*600像素的窗口中。
S705、基于所述Surface窗口,获取所述目标窗口区域。
在一些实施例中,在获取所述目标窗口区域之后,就可以将解码获取的目标视频,显示在显示设设备的目标窗口区域,用户便可以进行观看。
需要说明的是,所述目标窗口区域的大小是由本领域技术人员根据实际显示设备的大小设定的,可以设置为多个窗口均分显示设备的屏幕大小,也可以设置为一个主窗口,多个副窗口,主窗口的大小大于副窗口的大小。进而用户也可以在所述多窗口播放指令中,下发将某个应用设置为主窗口播放的指令,更加满足用户的个性化需求。
S706、调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
步骤1、通过所述播放器实例解码所述待播放视频流,获取对应的视频参数。
在一些实施例中,在通过所述播放器实例解码所述待播放视频流时,还会获取对应的视频参数,具体的,所述视频参数可以为:分辨率、帧率、高动态范围或者标准动态范围、是否进行低延时、是否进行丢帧等,通过上述各个应用对应的视频参数,再对待播放视频流进行渲染播放,以能达到各个应用对视频画面的不同要求。
步骤2、基于所述视频参数渲染所述待播放视频流,获取所述目标视频并显示在所述目标窗口区域中。
在一些实施例中,在获取各个应用对应的所述目标视频之后,该多窗口显示方法还包括:在获取所述目标视频之后,对所述目标视频的画面进行画质调整。
具体的,对所述目标视频的画面进行画质调整可以采用TV PQ(Picture Quality)是指对接入的视频画质进行改善处理,以获得更好的影像质量的算法及流程。由于TV PQ的存在,使得你看到的电视节目或者TV视频具有更好的观看效果,更高的清晰度、更干净的画面、更艳丽的颜色、更舒适的对比度。进而使得用户通过电视观看视频时,可以获得更好的视觉享受。
作为对上述实施例的扩展与细化,参照图8所示,本公开实施例提供的一种多窗口显示方法还包括如下步骤:
S801、检测所述多个应用对应的待播放视频流的第一帧是否已经被解码。
在一些实施例中,在多个应用将所述待播放视频流实时传输到显示设备之后,只需要在解码第一帧的时刻,创建对应的播放器实施例以及Surface窗口,并生成上述实施例步骤S602中的所述对应关系,以便在后续对所述应用对应的所述待播放视频流直接进行解码,并根据所述对应关系中的各个应用的线程标识,确定目标窗口区域随后播放即可。无需在解码每一帧时,再根据各个应用的Surface窗口在去确定对应的目标窗口区域,提高视频播放处理的效率。
在上述步骤S801中,若所述多个应用对应的待播放视频流的第一帧没有被解码,则执行如下步骤S802:
S702、执行所述响应于所述多窗口播放指令,确定对应的所述多个应用,至,所述调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放的步骤。
在一些实施例中,若是所述多个应用对应的待播放视频流的第一帧没有被解码播放,则说明当前所述多个应用还未建立对应的播放器实例以及Surface窗口,所以就需要执行上述实施例S501-S505的步骤,进行后续的解码播放。
在上述步骤S801中,若所述多个应用对应的待播放视频流的第一帧已经被解码,则执行如下步骤S803:
S803、若是,则基于所述对应关系,获取所述每一个应用对应的所述播放器实例的所述线程标识,以根据所述线程标识确定对应的所述目标显示区域,解码所述待播放视频流生成目标视频并在所述目标窗口区域播放。
参照图9所示,为本公开实施例提供的显示设备的软件架构图,包括:安卓播放器Java层91、安卓播放器Native层92、安卓播放器C++层93、图像显示控制中间件层94、以及图像处理模块95;
具体的,在所述安卓播放器Java层91中包括最常使用的MediaPlayer和MediaCodec的Java层接口,通过调用的对应的接口实现后续的视频播放。
安卓播放器Native层92可以通过C/C++代码去实现,主要是和上层的Java代码通信(这部分在安卓中称为JNI机制),以及与底层的硬件驱动交互。
安卓播放器C++层93该层是在现有技术的基础上增加播放器实例对应的线程标识的获取方法,同时增加获取对应的目标窗口区域的方法。多个应用以通过调用安卓播放器Java层91的MediaPlayer或MediaCodec的接口,也以直接调用本层的MediaCodec的接口去实现视频播放功能,需要说明的是,安卓播放器C++层的MediaCodec的位于安卓播放器的底部,能够很好的包含应用创建播放器所调用的各种可能路径。
图像显示控制中间件层94用来保存所述线程标识和对应的所述目标窗口区域的对应关系,然后就可以在各个窗口解码播放时,只需要根据第一帧解码时使用的处理线程以及对应的目标显示区域,即窗口进行关联,形成所述对应关系,然后在后续视频流的解码时,只需要根据对应关系,直接解码视频流进行播放即可。
图像处理模块95用于通过所述播放器实例解码所述待播放视频流,获取对应的视频参数;基于所述视频参数渲染所述待播放视频流,获取所述目标视频并显示在所述目标窗口区域中;获取视频解码后的相关信息,例如:分辨率、帧率、SDR/HDR、是否丢帧、是否低延时等,进行图像显示的控制。
需要说明的是,参照图10所示,所述图像处理模块95中还可以包括:视频解码模块951和视频显示模块952,视频解码模块用于对视频进行解码,输出解码后的图像信息和数据;视频显示模块根据图像显示控制模块的指令将视频解码后的数据进行图像的PQ等画质调整并显示。
本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现上述任意实施例提供的方法执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,该计算机可读存储介质可以为只读存储装置(Read-Only Memory,ROM)、随机存取存储装置(Random Access Memory,RAM)、磁碟或者光盘等。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

Claims (10)

1.一种显示设备,其特征在于,包括:
控制器,被配置为:
接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;
响应于所述多窗口播放指令,确定对应的所述多个应用;
针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;
获取所述每一个应用对应的待播放视频流以及目标窗口区域;
调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器具体被配置为:
针对所述多个应用中的每一个应用,获取对应的播放器实例中的Surface窗口;
基于所述Surface窗口,获取所述目标窗口区域。
3.根据权利要求1所述的显示设备,其特征在于,在所述响应于所述多窗口播放指令,确定对应的所述多个应用之后,所述控制器还被配置为:
针对所述多个应用中的每一个应用,创建对应的所述播放器实例以及Surface窗口。
4.根据权利要求3所述的显示设备,其特征在于,所述控制器还被配置为:
在创建所述每一个应用对应的所述播放器实例之后,生成所述播放器实例对应的处理线程以及所述处理线程的线程标识;
针对所述每一个应用的所述播放器实例,确定对应的所述目标窗口区域和所述线程标识,并将所述目标窗口区域和所述线程标识进行关联,生成对应关系并保存。
5.根据权利要求1所述的显示设备,其特征在于,所述控制器具体被配置为:
通过所述播放器实例解码所述待播放视频流,获取对应的视频参数;
基于所述视频参数渲染所述待播放视频流,获取所述目标视频并显示在所述目标窗口区域中。
6.根据权利要求1所述的显示设备,其特征在于,所述控制器还被配置为:在获取所述目标视频之后,对所述目标视频的画面进行画质调整。
7.根据权利要求1-6任一项所述的显示设备,其特征在于,所述控制器还被配置为:
检测所述多个应用对应的待播放视频流的第一帧是否已经被解码;
若否,则执行所述响应于所述多窗口播放指令,确定对应的所述多个应用,至,所述调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放的步骤;
若是,则基于所述对应关系,获取所述每一个应用对应的所述播放器实例的所述线程标识,以根据所述线程标识确定对应的所述目标显示区域,解码所述待播放视频流生成目标视频并在所述目标窗口区域播放。
8.一种多窗口显示方法,其特征在于,包括:
接收多窗口播放指令;所述多窗口播放指令用于指示所述显示设备通过多个应用分别对应的窗口播放对应的目标视频;
响应于所述多窗口播放指令,确定对应的所述多个应用;
针对所述多个应用中的每一个应用,获取对应的播放器实例和处理线程;
获取所述每一个应用对应的待播放视频流以及目标窗口区域;
调用所述每一个应用对应的所述处理线程,基于所述播放器实例解码对应的所述待播放视频流,以获取所述目标视频并在所述目标窗口区域播放。
9.根据权利要求8所述的方法,其特征在于,所述获取所述每一个应用对应的待播放视频流以及目标窗口区域,包括:
针对所述多个应用中的每一个应用,获取对应的播放器实例中的Surface窗口;
基于所述Surface窗口,获取所述目标窗口区域。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求8-9任一项所述的多窗口显示方法。
CN202410004265.2A 2024-01-02 2024-01-02 显示设备、多窗口显示方法及存储介质 Pending CN117939213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410004265.2A CN117939213A (zh) 2024-01-02 2024-01-02 显示设备、多窗口显示方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410004265.2A CN117939213A (zh) 2024-01-02 2024-01-02 显示设备、多窗口显示方法及存储介质

Publications (1)

Publication Number Publication Date
CN117939213A true CN117939213A (zh) 2024-04-26

Family

ID=90758521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410004265.2A Pending CN117939213A (zh) 2024-01-02 2024-01-02 显示设备、多窗口显示方法及存储介质

Country Status (1)

Country Link
CN (1) CN117939213A (zh)

Similar Documents

Publication Publication Date Title
CN111526415B (zh) 一种双屏显示设备及其hdmi的切换方法
WO2021042655A1 (zh) 一种音画同步处理方法及显示设备
CN111405221B (zh) 显示设备及录制文件列表的显示方法
WO2020248680A1 (zh) 视频数据处理方法、装置及显示设备
CN110213657B (zh) 一种开机方法及智能电视
WO2020248697A1 (zh) 显示设备及视频通讯数据处理方法
CN111464840B (zh) 显示设备及显示设备屏幕亮度的调节方法
CN112788422A (zh) 显示设备
CN112911354B (zh) 显示设备和声音控制方法
CN113132769A (zh) 显示设备及音画同步方法
CN112788423A (zh) 一种显示设备及菜单界面的显示方法
WO2020248699A1 (zh) 一种声音处理法及显示设备
CN111954043A (zh) 一种信息栏显示方法及显示设备
CN112788378A (zh) 显示设备与内容显示方法
CN112783380A (zh) 显示设备和方法
CN110572519A (zh) 一种来电显示界面的拦截方法以及显示设备
CN112788387B (zh) 显示设备、方法和存储介质
CN113365124B (zh) 一种显示设备及显示方法
CN116980554A (zh) 一种显示设备及视频会议界面显示方法
CN115103144A (zh) 显示设备及音量条显示方法
WO2021088326A1 (zh) 一种显示设备及来电显示方法
WO2021088308A1 (zh) 一种显示设备及音乐推荐方法
CN117939213A (zh) 显示设备、多窗口显示方法及存储介质
CN114501087A (zh) 一种显示设备
WO2021088325A1 (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