CN113453063B - 一种资源播放方法及显示设备 - Google Patents
一种资源播放方法及显示设备 Download PDFInfo
- Publication number
- CN113453063B CN113453063B CN202110678999.5A CN202110678999A CN113453063B CN 113453063 B CN113453063 B CN 113453063B CN 202110678999 A CN202110678999 A CN 202110678999A CN 113453063 B CN113453063 B CN 113453063B
- Authority
- CN
- China
- Prior art keywords
- player
- audio
- data
- video
- target resource
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/454—Content or additional data filtering, e.g. blocking advertisements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
- H04N21/4758—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for providing answers, e.g. voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
- H04N21/8133—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种资源播放方法及显示设备,在接收到播放DTV操作时,控制第一播放器从DTV模块获取并解析DTV信号的音视频数据,并控制显示器显示DTV信号的视频数据,以及控制声音播放器播放DTV信号的音频数据;接收到起播目标应用中目标资源的操作时,将第二播放器调用至目标应用的进程中;根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态。本申请可根据目标资源的数据类型,协调、同步控制两个播放器的相对工作状态,可以实现在无需切换Source的情况下,根据数据类型确定显示器输出的视频数据以及声音播放器输出的音频数据。
Description
技术领域
本发明涉及显示设备领域,尤其涉及一种资源播放方法及显示设备。
背景技术
在某些国家或地区,如南美洲的巴西,部分数字电视支持Ginga,Ginga是基于ISDB-T制式的数字地面电视中间件标准,增强了数字电视的交互性,支持用户在观看数字电视(Digital Television,DTV)时,同时免费享受各种在线服务。例如,用户在观看电视剧时,通过调出Ginga来查看剧情介绍和角色介绍等信息;又例如,用户在观看选举直播时,可以通过Ginga查看候选人信息并进行投票操作。
然而在显示设备播放DTV信号时,若用户启动目标应用去播放目标资源,显示设备会切换当前Source,导致DTV信号被中断并停止播放,在某些场景下还会出现降低用户观看体验的问题,例如目标应用为Ginga应用,用户起播Ginga应用内的纯音频资源,此时显示设备仅播放目标应用内的纯音频数据,而视频播放界面则呈现黑屏。
发明内容
为解决上述背景技术中存在的问题,本发明提供一种资源播放方法及显示设备,具体的技术方案及具备的有益效果将在如下发明内容中说明。
本申请第一方面提供一种显示设备,包括:
显示器,用于显示视频数据;
声音播放器,用于播放音频数据;
用户接口,用于接收用户输入的操作;
控制器,包括DTV模块和应用模块,用于执行:
在接收到播放DTV操作时,控制第一播放器从DTV模块获取并解析DTV信号的音视频数据,并控制显示器显示DTV信号的视频数据,以及控制声音播放器播放DTV信号的音频数据;
接收到起播目标应用中目标资源的操作时,将第二播放器调用至目标应用的进程中;
根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态。
在显示设备播放DTV信号时,用户可能会启动目标应用观看目标资源,比如对于巴西地区,用户在观看DTV时,可以随时调出Ginga应用去起播感兴趣的资源,在某些方式中为避免DTV与应用在音视频解码和播放方面的冲突,需要将Source由DTV切换为Ginga,使得电视仅播放Ginga资源,停止播放DTV的音视频流,当Ginga资源为纯音频时,显示设备呈现给用户的是仅能听见声音,但是视频播放界面为黑屏,即显示设备仅支持运行一个资源播放器。针对该问题,在第一方面提供的技术方案中,支持两个资源播放器(即第一播放器和第二播放器)同时工作,第一播放器用于解码播放DTV的音视频数据,第二播放器用于被调用后解码播放应用内资源的音/视频数据,两个资源播放器共用解码和播放硬件,例如音/视频解码器、显示器和声音播放器。当用户在应用中起播的目标资源时,由于目标资源的数据类型存在多种,包括音视频、纯音频和纯视频,因此需要根据目标资源的数据类型,协调、同步控制两个播放器的相对工作状态,可以实现在无需切换Source的情况下,根据数据类型确定显示器输出的视频数据以及声音播放器输出的音频数据。
第一种示例性的实现方式中,所述控制器按照如下方式根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态:
若检测到所述目标资源为纯音频资源,控制所述第一播放器停止获取和解析DTV信号的音频数据,仅从DTV模块获取并解析DTV信号的视频数据,以及,控制所述第二播放器从应用模块获取并解析所述目标资源的音频数据;
控制显示器显示所述DTV信号的视频数据,以及,控制声音播放器播放所述目标资源的音频数据。
第一种示例性的实现方式对应于目标资源的数据类型为纯音频,这时第一播放器可以停止向DTV模块获取DTV信号的音频数据,并释放对音频解码资源的占用,但是仍保持接收DTV信号的视频数据,以及占用视频解码资源,同步地,第二播放器从应用模块中获取目标资源的音频数据,然后解码目标资源的音频数据,也就是说,此时两个播放器的相对工作状态是第一播放器占用视频解码器,第二播放器占用音频解码器,第一播放器占用显示器显示DTV信号的视频数据,第二播放器占用声音播放器播放目标应用内目标资源的音频数据,因此通过两个播放器实现了不同Source、异类数据的同步播放,还能避免音视频解码及播放之间的冲突问题,并且克服了在播放DTV时,用户起播应用内的纯音频导致的视频播放界面的黑屏问题。
第二种示例性的实现方式中,所述控制器按照如下方式根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态:
若检测到所述目标资源为音视频资源,控制所述第一播放器停止获取和解析DTV信号的音视频数据;
控制所述第二播放器从应用模块获取并解析所述目标资源的音视频数据;
控制显示器显示所述目标资源的视频数据,以及,控制声音播放器播放所述目标资源的音频数据。
第二种示例性的实现方式对应于目标资源的数据类型为音视频,由于目标应用Source兼具视频数据流和音频数据流,即用户期望起播的Source需要同时占用视频和音频的解码、播放资源,因此第一播放器停止获取和解析DTV信号的音视频数据,以释放被DTV占用的解码和播放资源,第二播放器从应用模块获取目标资源的音视频数据后进行解析播放,此时显示设备的解码器、显示器和声音播放器全部被目标应用的目标资源独占,从而避免不同Source的播放冲突问题。
第三种示例性的实现方式中,所述控制器按照如下方式根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态:
若检测到所述目标资源为纯视频资源,控制所述第一播放器停止获取和解析DTV信号的视频数据,仅从DTV模块获取并解析DTV信号的音频数据;
控制所述第二播放器从应用模块获取并解析所述目标资源的视频数据;
控制显示器显示所述目标资源的视频数据,以及,控制声音播放器播放所述DTV信号的音频数据。
第三种示例性的实现方式对应于目标资源的数据类型为纯视频,这时第一播放器可以停止向DTV模块获取DTV信号的视频数据,并释放对视频解码资源的占用,但是仍保持接收DTV信号的音频数据,以及占用音频解码资源,同步地,第二播放器从应用模块中获取目标资源的视频数据,然后解码目标资源的视频数据,也就是说,此时两个播放器的相对工作状态是第一播放器占用音频解码器,第二播放器占用视频解码器,第一播放器占用声音播放器以播放DTV信号的音频数据,第二播放器占用显示器以显示目标应用内目标资源的视频数据,因此通过两个播放器实现了不同Source、异类数据的同步播放,还能避免音视频解码及播放之间的冲突问题,并且克服了在播放DTV时,用户起播应用内的纯视频导致的有画面但无声的问题。
第四种示例性的实现方式中,所述控制器还用于执行:
在检测到所述目标资源播放结束时,关闭所述第二播放器,控制所述第一播放器从DTV模块获取并解析所述DTV信号的音视频数据;
控制显示器显示所述DTV信号的视频数据,以及,控制声音播放器播放所述DTV信号的音频数据。
对于第四种示例性的实现方式,当目标资源的播放进程自然达到终点,或者用户选择人为退出目标资源或目标应用,都属于目标资源播放结束的场景,则可关闭第二播放器,终止目标应用内资源的播放,并释放目标应用内资源对音/视频解码和播放的占用,第一播放器获取并解析DTV信号的音视频数据并播放,从而自动恢复完整DTV信号的播放。
第五种示例性的实现方式中,所述控制器还用于执行:
在第二播放器获取目标资源的数据之前,控制应用模块检测目标资源的数据类型;
若所述数据类型为纯音频数据,则控制应用模块仅创建第二注入线程;
若所述数据类型为音视频数据,则控制应用模块创建第一注入线程和第二注入线程;
若所述数据类型为纯视频资源,则控制应用模块仅创建第一注入线程;
其中,第一注入线程用于在目标资源的数据被解码之前,对目标资源的视频数据进行注入控制;所述第二注入线程用于在目标资源的数据被解码之前,对目标资源的音频数据进行注入控制。
对于第五种示例性的实现方式,将目标资源的视频数据和音频数据分别由两个线程独立进行解码前的注入控制,对此在第二播放器获取目标资源的数据前,由应用模块先检测目标资源的数据类型,该类型包括音视频数据、视频数据和音频数据。若数据类型为音视频类型,则同时创建第一注入线程和第二注入线程这两个线程;若数据类型为纯音频或纯视频,则仅需创建一个线程。
第六种示例性的实现方式中,所述控制器还用于执行:
在第二播放器获取目标资源的数据之前,控制应用模块创建第一注入线程和第二注入线程;
所述第一注入线程被配置为:在目标资源的数据解码之前,检测目标资源的数据类型,若所述数据类型为音视频数据或视频数据,则对目标资源的视频数据进行注入控制;若所述数据类型为纯音频数据,则所述第一注入线程不执行注入控制;
所述第二注入线程被配置为:在目标资源的数据解码之前,检测目标资源的数据类型,若所述数据类型为音视频数据或纯音频数据,则对目标资源的音频数据进行注入控制;若所述数据类型为纯视频数据,则所述第二注入线程不执行注入控制。
第五种示例性的实现方式中是先检测目标资源的数据类型,并根据数据类型创建相应的线程。而第六种示例性的实现方式中,应用模块则是默认创建两个线程,每个线程可以自发检测目标资源的数据类型,并根据数据类型去控制自身线程的工作状态。例如第二注入线程若检测到数据类型为音视频或纯音频,则可以控制目标资源的音频数据的注入,若数据类型为纯视频,则第二注入线程不工作,相当于处于失效状态。当目标资源播放结束后,第一注入线程和/或第二注入线程工作结束并释放资源。
第七种示例性的实现方式中,所述第二注入线程具体被配置为按照如下方式对目标资源的视频数据进行注入控制:
从所述应用模块中读取目标资源的一帧音频帧数据;
在接收到所述第二播放器发送的第二数据注入请求时,开启所述第二注入线程,标记并保存所述音频帧数据的ID;
将所述音频帧数据发送给所述第二播放器。
第八种示例性的实现方式中,所述第一注入线程具体被配置为按照如下方式对目标资源的视频数据进行注入控制:
从所述应用模块中读取目标资源的一帧视频帧数据;
在接收到所述第二播放器发送的第一数据注入请求时,开启所述第一注入线程,标记并保存所述视频帧数据的ID;
将所述视频帧数据发送给所述第二播放器。
对于第七种和第八种示例性的实现方式,分别定义了第一注入线程和第二注入线程对目标资源的数据注入控制方案。以第二注入线程为例,第二注入线程按帧读取目标资源的音频帧数据,读取音频帧数据后,第二注入线程暂处于堵塞状态,不会传输音频帧数据,并等待第二播放器的第二数据注入请求。可选地,第二播放器中可包括注入器以及根据目标资源的数据类型调用的解码器,解码器包括视频解码器和/或音频解码器,第二注入线程接收到注入器发送的第二数据注入请求时,唤醒自身线程,并标记音视频帧数据的ID,该ID比如为音频帧数据的帧序号,用于标记该音频帧数据是目标资源的音频数据中的第几帧,之后将音频帧数据发送给注入器,注入器再将音频帧数据注入到音频解码器的buffer(缓存器)中,这样音频解码器即可从buffer中按帧读取音频帧数据并进行解码播放。通过为每帧音/视频帧数据设置ID,可以保证音/视频帧播放的连续性和准确性。
第九种示例性的实现方式中,所述第二播放器包括注入器,第二播放器被配置为:
在接收到控制器发送的调用第二播放器指令时,获取目标资源的数据类型;
根据所述目标资源的数据类型,调用匹配的解码器;所述解码器包括视频解码器和/或音频解码器;其中,所述注入器上行用于向第一注入线程和/或第二注入线程请求获取数据,所述注入器下行用于将获取到的数据注入至所述解码器;
控制所述注入器查询所述解码器当前的缓存余量;
控制所述注入器根据所述缓存余量,控制与第一注入线程和/或第二注入线程的通信状态。
对于第九种示例性的实现方式,第二播放器包括用于实现目标资源的音/视频数据注入控制的注入器,还包括用于数据播放前解码的解码器,第二播放器需根据目标资源的数据类型不同,调用与数据类型匹配的解码器,具体来说,若所述数据类型为音视频数据,则第二播放器需要同时调用视频解码器和音频解码器;若所述数据类型为纯音频数据,则第二播放器仅调用音频解码器,视频解码器由第一播放器调用;若所述数据类型为纯视频数据,则第二播放器仅调用视频解码器,音频解码器由第一播放器调用。注入器链接于注入线程与解码器之间,注入器上行用于向第一注入线程和/或第二注入线程请求获取数据,注入器下行则用于将自身获取到的数据注入到解码器中,例如目标资源为纯音频数据时,注入器向第二注入线程发送第二数据注入请求,注入器获取到音频帧数据后,将音频帧数据注入到音频解码器的buffer中,音频解码器从其buffer中读取音频帧数据并进行解码,然后将解码后的音频帧数据传输到声音播放器进行播放。
为了协调解码器中的缓存速度和解码速度,可将解码器当前的缓存余量(即水位)作为参考依据,注入器根据缓存余量,控制与第一注入线程和/或第二注入线程之间的通信状态。这里所述的通信状态包括是否向注入线程发送数据注入请求,以请求获取相应类型的数据(视频数据和/或音频数据),通过解码器buffer的水位实现数据注入控制,从而调节解码器的缓存与解码的相对平衡,实现对目标资源的精准播放控制。
第十种示例性的实现方式中,所述第二播放器被配置为按照如下方式控制注入器与第二注入线程的通信状态:
控制所述注入器查询所述音频解码器的第二缓存余量;
若所述第二缓存余量大于第一阈值,则控制注入器暂停向所述第二注入线程发送所述第二数据注入请求,直至所述第二缓存余量下降至[第二阈值,第一阈值]的区间范围内时,恢复向所述第二注入线程发送所述第二数据注入请求;
若所述第二缓存余量处于[第二阈值,第一阈值]的区间范围内,则控制注入器保持向所述第二注入线程发送所述第二数据注入请求;
若所述第二缓存余量小于第二阈值,则控制注入器保持向所述第二注入线程发送所述第二数据注入请求,向声音播放器发送第三指示信息,直至第二缓存余量上升至第一阈值时,向声音播放器发送第四指示信息;所述第三指示信息用于指示声音播放器暂停播放目标资源的音频数据,所述第四指示信息用于指示声音播放器在当前暂停帧处继续播放目标资源后续的音频帧数据。
第十一种示例性的实现方式中,所述第二播放器被配置为按照如下方式控制注入器与第一注入线程的通信状态:
控制所述注入器查询所述视频解码器的第一缓存余量;
若所述第一缓存余量大于第一阈值,则暂停向所述第一注入线程发送所述第一数据注入请求,直至所述第一缓存余量下降至[第二阈值,第一阈值]的区间范围内时,恢复向所述第一注入线程发送所述第一数据注入请求;
若所述第一缓存余量处于[第二阈值,第一阈值]的区间范围内,则保持向所述第一注入线程发送所述第一数据注入请求;
若所述第一缓存余量小于第二阈值,则保持向所述第一注入线程发送所述第一数据注入请求,向显示器发送第一指示信息,直至第一缓存余量上升至第一阈值时,向显示器发送第二指示信息;所述第一指示信息用于指示显示器暂停播放目标资源的视频数据,所述第二指示信息用于指示显示器在当前暂停帧处继续播放目标资源后续的视频帧数据。
对于第十种和第十一种示例性的实现方式,则提供注入器根据解码器中buffer的缓存水位来控制数据注入的方案。在具体实现方式中,设置第一阈值和第二阈值,解码器buffer中的缓存余量大于第一阈值,则处于高等(High)水位;解码器buffer中的缓存余量处于[第二阈值,第一阈值]的区间范围内,则处于中等(Mid)水位;解码器buffer中的缓存余量小于第二阈值,则处于低等(Low)水位。当解码器buffer处于高等水位时,说明缓存速度大于解码速度,为避免因解码器buffer中缓存过度堆积而导致部分数据被冲刷掉,可以暂停注入,即注入器暂停向注入线程发送数据注入请求,直到解码器buffer的“水位”下降至中等水位,再恢复向注入线程发送数据注入请求。当解码器buffer处于中等水位时,说明缓存速度与解码速度相对较为平衡,则注入器保持向注入线程发送数据注入请求。当解码器buffer处于低等水位时,说明缓存速度小于解码速度,即存在“入不敷出”,导致目标资源的视频和/或音频存在卡顿问题,对此仍需保持向注入线程发送数据注入请求,并控制目标应用暂停资源播放,这样即可在停止解码状态下,逐渐积累缓存,直至解码器buffer上升至高等水位时,即可使目标应用恢复资源播放。通过解码器buffer中水位的状态协调控制注入器的数据注入,提升了目标资源的播放效果。需要说明的是,第十种和第十一种示例性的实现方式分别示出了对音频解码器和视频解码器的基于水位的数据注入控制,若目标应用内当前播放的资源是音视频类型,可第二播放器同时调用音频解码器和视频解码器,然后按照两种实现方式分别进行注入控制即。
第十二种示例性的实现方式中,所述第一阈值=第一预设时间*当前播放倍速,所述第二阈值=第二预设时间*当前播放倍速,第一预设时间大于第二预设时间。该实现方式中,第一预设阈值和第二预设阈值是预设的时间值,一般以秒(s)为单位,用户可以在目标应用中调整目标资源的播放速度,正常默认是一倍速,还可设置0.5倍速、2倍速等,由于当前播放倍速会约束解码速度,因此根据当前的播放倍速,结合预设时间值,即可快速确定衡量解码器buffer水位状态的第一阈值和第二阈值,从而适应性调节数据注入,使解码器的缓存与解码能够相对平衡。
本申请第二方面提供一种显示设备中的资源播放方法,包括:
在接收到播放DTV操作时,控制第一播放器从DTV模块获取并解析DTV信号的音视频数据,并控制显示器显示DTV信号的视频数据,以及控制声音播放器播放DTV信号的音频数据;
接收到起播目标应用中目标资源的操作时,将第二播放器调用至目标应用的进程中;
根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态。
第二方面包括的其他示例性实现方式以及具备的有益效果,可以适应性参照前述第一方面的相关说明,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要访问的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了根据一些实施例的显示设备的使用场景;
图2示例性示出了根据一些实施例的控制装置100的硬件配置框图;
图3示例性示出了根据一些实施例的显示设备200的硬件配置框图;
图4示例性示出了根据一些实施例的显示设备200中软件配置图;
图5示例性示出了一种主控集中式的资源播放的控制逻辑架构图;
图6示例性示出了一种具有端独立式播放器的资源播放的控制逻辑架构图;
图7(a)示例性示出了起播目标应用中的纯音频资源时的黑屏效果图;
图7(b)示例性示出了调用端独立式的第二播放器后,起播目标应用中的纯音频资源时的UI显示图;
图8示例性示出了资源播放方法的流程图;
图9示例性示出了一种资源播放方法的交互流程图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,AR/VR设备等中的任意一种。
在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。
在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
图3示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
在一些实施例中,显示器260可为液晶显示器、OLED显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400创建控制信号和数据信号的发送和接收。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,控制器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等可视的界面元素中的至少一种。
在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
在一些实施例中,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
以上实施例示例了一种显示设备的硬件/软件架构以及功能实现等内容。在一些应用场景中,显示设备在播放DTV时,用户可以启动某些目标应用,并起播目标应用内如片源、音源、图像等格式的信息资源。由于DTV与目标应用属于不同的信号源,因此需要切换Source,即将Source由DTV切换为目标应用,这必将导致DTV播放中断,目标应用独占音视频解码和播放资源。对于某些场景,例如若用户起播目标应用内的纯音频资源,则视频播放界面因无视频信号被解码输出而呈现黑屏,又例如,用户起播目标应用内的纯视频资源,则显示设备虽然可以播放画面,但声音播放器因无音频信号被解码输出而呈现无声,这些都会降低用户对当前播放的资源的观看体验。
在一些示例性的应用场景和实现方式中,以目标应用是Ginga应用为例,巴西地区的部分显示设备支持具备Ginga功能的数字电视。对于支持Ginga中间件标准的显示设备,可通过机顶盒/接收机等设备接收发射站发射的DTV信号,DTV信号以码流形式传输,DTV码流中携带有Ginga数据,Ginga数据设置有标记信息,以便显示设备从DTV码流中识别并准确过滤出Ginga数据,并通过UI和/或声音播放器播放Ginga数据。其中,所述声音播放器可以是显示设备内置的扬声器,也可以是通过HDMI等接口外接的功放,比如音响设备等。
在一种示例性的实现方式中,显示设备在播放数字电视节目时,用户可通过点击遥控器上的指定按键或者UI界面上的指定控件等预设操作,来调出Ginga应用。Ginga应用与当前播放的DTV信号相关联,例如用户在观看电视剧时,通过调出Ginga应用来查看剧情介绍和角色介绍等信息;又例如,用户在观看选举直播时,可以通过Ginga应用查看候选人信息并进行投票操作。Ginga中信息资源的类型可以是纯视频/图像、纯音频和音视频,支持的音频格式和视频格式不限定。Ginga应用被调出后,用户可以在Ginga应用中选择将要播放的目标资源,以及享受Ginga应用中的相关服务和交互功能。
由于大部分显示设备一般支持单路视频播放和单路音频播放,因此需要解决DTV与Ginga应用之间音视频播放冲突问题。一种示例性的实现方式中,图5示出一种主控集中式的资源播放的控制逻辑架构,为实现Ginga应用内的资源播放,可以划分为两个进程,分别为Ginga进程和TVmain进程,Ginga进程和TVmain进程之间比如可通过RPC形式进行通信交互,可选地,通过共享内存实现数据在进程间的传输。
在一些实施例中,Ginga数据的音视频流来源于DTV码流,DTV模块运行于TVmain进程中,在用户观看或切换数字电视节目时,DTV模块可以对DTV信号进行处理,得到DTV数据。此外,在用户启动播放Ginga应用中的目标资源时,DTV模块能根据DTV码流中Ginga的PID及TID(相当于前述标记信息)创建段过滤器,利用该过滤器从DTV码流中过滤出Ginga数据。
在一些实施例中,参照图5,在用户启动播放Ginga应用中的目标资源时,开启第二DTV通信链路,所述第二DTV通信链路为DTV模块向Ginga进程传输数据的链路。DTV模块通过已开启的第二DTV通信链路,将过滤出的Ginga数据发送给Ginga进程。
在一些实施例中,在启动播放Ginga音视频资源时,Ginga进程中会创建并维护一共享内存,该共享内存与DTV模块通过第二DTV通信链路链接。当启动播放Ginga应用内的目标资源时,开启第二DTV通信链路,DTV模块通过第二DTV通信链路将Ginga数据先转入共享内存中,之后Ginga模块通过读取共享内存来获取Ginga数据,实现Ginga模块跨进程获取DTV模块过滤的Ginga数据,Ginga模块中的Ginga SDK可从Ginga数据中解析出音视频数据流。共享内存与Ginga模块通过Ginga通信链路链接,当Ginga通信链路开启时,允许播放控制模块跨进程获取到Ginga数据,具体是由注入器通过数据注入请求,来请求获取共享内容中的Ginga数据。可选地,建立第一注入线程和第二注入线程,注入器通过向第一注入线程发送第一数据注入请求来获取Ginga数据中的视频数据,注入器通过向第二注入线程发送第二数据注入请求来获取Ginga数据中的音频数据。图5的示例中,第二DTV通信链路仅传输DTV过滤的Ginga数据,而不传输DTV数据,当Ginga数据播放结束时,关闭第二DTV通信链路和关闭Ginga通信链路,开启第一DTV通信链路,从而恢复播放DTV。
在一些实施例中,参照图5的示例,DTV模块与播放控制模块(具体是其中的解码器)通过第一DTV通信链路链接,第一DTV通信链路被开启时,允许DTV模块直接将DTV数据发送给播放控制模块进行解码及播放;反之,当第一DTV通信链路被关闭时,DTV数据的传输通路被阻断,则无法推送DTV数据,播放控制模块也就无法对DTV信号进行解码和播放。Ginga通信链路被开启时,允许Ginga模块将Ginga数据写入共享内存;反之,当Ginga通信链路被关闭时,Ginga数据的传输通路被阻断,则无法推送Ginga数据,播放控制模块无法从共享内存中获取到Ginga数据,也就无法对Ginga数据进行解码和播放。由此可见,通过控制第一DTV通信链路和Ginga通信链路的启闭状态,即可播放控制模块获取的数据类别(DTV数据或Ginga数据),保证两类通信链路一启一闭,实现对音视频解码播放资源的独占,避免多个source之间资源的冲突和抢占问题。可选地,共享内存中可以对Ginga的视频数据和音频数据独立缓存。第一DTV通信链路链接于DTV模块和解码器之间,即DTV数据和Ginga数据共用解码器、显示器和声音播放器。
在一些实施例中,在关闭第一DTV通信链路,并开启Ginga通信链路后,共享内存中都仅缓存一种类别的待播数据,即Ginga数据通过共享内存可实现数据在不同进程和模块点的传输。所述播放控制模块可包括注入器(Injector)和解码器(HUI),其中注入器可以从共享内存中读取待播数据,并将待播数据注入至解码器的buffer(缓存)中,之后由解码器对待播数据进行解码并播放。
在一些实施例中,所述解码器包括视频解码器和音频解码器,以Ginga数据为音视频数据为例,注入器将Ginga数据中的视频数据注入到视频解码器,由视频解码器对Ginga视频流进行解码,并将解码后的数据发送给显示器进行UI显示;同时,注入器将Ginga数据中的音频数据注入到音频解码器,由音频解码器对Ginga音频流进行解码,将解码后的数据发送给声音播放器进行播放。若Ginga数据为纯视频或纯音频类型,则视频解码器和音频解码器中仅有一个处于工作状态。图5的控制逻辑架构相当于构建了一个适用于Ginga应用的ES流媒体资源播放器,在启动Ginga应用中目标资源的播放时,即可直接调用该播放器进行播放控制。
对于图5中主控集中式架构,其优点在于TVmain进程可统一进行解码、播放等资源管理,当其他进程需要使用解码器和播放设备(包括显示器和声音播放器)时,需通知TVmain进程根据Source进行解码等资源的切换,使当前Source释放其使用的解码播放资源,并将被释放的资源赋予给切换后的Source使用。缺陷在于,解码器和播放设备处于TVmain进程中,解码器和播放设备被不同信号源共享使用,当需要切换Source时,以Source由DTV切换到Ginga为例,需要关闭DTV播放链路,以释放DTV信号源对解码器和播放设备的占用,即同一时间点仅有一个Source能占用音视频解码等流媒体播放资源。以切换后的Source是Ginga应用为例,DTV信号释放其占用的音视频解码器和播放设备,若Ginga数据的类型为纯音频,则显示设备仅播放纯音频,对应于原DTV的视频播放界面呈现黑屏,即“有声但无画面”,用户观看体验差。
为解决上述技术问题,在一些实施例中,提供一种在显示设备播放DTV时,可被任一应用调用的端独立式播放器(为便于区分,本申请中命名为第二播放器),任一应用通过将端独立式播放器调用至应用进程中,实现两个播放器同时工作的运行模式。
在一些实施例中,显示设备可配置有第一播放器,第一播放器用于从DTV模块中获取DTV信号的音视频数据,然后对DTV信号的音视频数据进行解码以及播放。在具体实现时,在当前Source为DTV时,第一播放器可包括与DTV模块进行数据传输的第一通信接口、调用的音频解码器和视频解码器,也就是说,DTV数据的播放链路遍及DTV模块、第一通信接口、音频解码器+与音频解码器连接的声音播放器、视频解码器+与视频解码器连接的显示器。其中DTV音频和DTV视频的解码、播放可以独立执行,相当于划分为DTV视频播放子链路和DTV音频播放子链路。本申请方案中,DTV数据的两条播放子链路可以同时被关闭,或者仅关闭其中一路;当前Source为DTV,并且未启动其他应用内的资源时,两条播放子链路同时开启,则可保持对DTV信号的音视频数据的解码播放状态。
在一些实施例中,图6示例性示出一种具有端独立式播放器的资源播放的控制逻辑架构,其中第二播放器即为所述端独立式播放器,通过将注入器(Injector)和解码器(HUI)从TVmain进程中独立出来,构建一个端独立式的动态库插件,该动态库插件可以被Ginga应用或其他任意应用加载和调用,应用只需将该动态库插件直接加载在自身应用进程中,即可直接调用第二播放器的数据注入控制、数据解码及播放功能,此外该动态库插件也可被TVmain进程调用。
在一些实施例中,第一播放器和第二播放器共用显示设备的解码器和播放设备。在显示设备播放DTV时,若用户启动目标应用并起播目标资源,由于目标资源的数据类型存在多种,包括音视频、纯音频和纯视频,因此需要根据目标资源的数据类型,协调、同步控制两个播放器的相对工作状态,实现在无需切换Source的情况下,根据数据类型确定显示器输出的视频数据以及声音播放器输出的音频数据。例如,图6是以目标资源的数据类型为纯音频为示例,则使第二播放器调用音频解码器和声音播放器来实现播放目标资源的音频数据,第一播放器调用视频解码器和显示器来实现播放DTV信号的视频数据,这样即可实现显示设备“有声有画面”,并且无需切换信号源,实现两个Source的异类(一音频一视频)同步播放,既避免了不同Source在音视频解码和播放方面的冲突问题,也避免了如主控集中式等架构在起播应用内纯音频资源时出现的画面黑屏问题。
在一些实施例中,第二播放器可包括与应用模块进行数据传输的第二通信接口及调用的解码器。若目标资源的数据类型为纯音频,则第二播放器仅调用音频解码器,目标资源的播放链路遍及应用模块、第二通信接口、音频解码器和声音播放器;若目标资源的数据类型为纯视频,则第二播放器仅调用视频解码器,目标资源的播放链路遍及应用模块、第二通信接口、视频解码器和显示器。若目标资源的数据类型为音视频,则第二播放器同时调用音频解码器和视频解码器,目标资源的播放链路遍及应用模块、第二通信接口、音频解码器+声音播放器、视频解码器+显示器,其中目标资源的音频和视频的解码播放可以独立执行,相当于划分为目标资源视频播放子链路和目标资源音频播放子链路。
在一些实施例中,若目标资源的数据类型为纯音频,则第一播放器停止获取和解析DTV信号的音频数据,仅从DTV模块获取并解析DTV信号的视频数据,第二播放器从应用模块获取并解析目标资源的音频数据,相当于仅保持开启DTV视频播放子链路,关闭DTV音频播放子链路,而DTV音频播放子链路关闭后被释放的音频解码器和声音播放器被目标应用占用,目标资源的播放链路已开启,这样显示器显示DTV信号的视频数据,声音播放器播放目标资源的纯音频数据。因此通过两个播放器实现了不同Source、异类数据的同步播放,能避免音视频解码及播放之间的冲突问题,参照图7(a)和图7(b)的对比,本申请还能克服在播放DTV时,用户起播应用内的纯音频导致的视频播放界面的黑屏问题,即当声音播放器播放目标资源的纯音频时,原黑屏的部分可以显示DTV信号的视频画面。
在一些实施例中,若目标资源的数据类型为音视频,第一播放器停止获取和解析DTV信号的音视频数据,第二播放器从应用模块获取并解析所述目标资源的音视频数据,相当于同时关闭DTV视频播放子链路和DTV音频播放子链路,DTV音频播放子链路关闭后被释放的音频解码器和声音播放器被目标应用占用,使目标资源音频播放子链路被开启,DTV视频播放子链路关闭后被释放的视频解码器和显示器被目标应用占用,使目标资源视频播放子链路被开启,即整体目标资源的播放链路被完全开启,这样显示器和播放器分别播放目标资源的视频数据和音频数据,而不再播放DTV信号的音视频数据,这种场景下显示设备播放的音视频数据来源于同一个Source,并解决了不同Source间的播放冲突问题。
在一些实施例中,若目标资源的数据类型为纯视频,则第一播放器停止获取和解析DTV信号的视频数据,仅从DTV模块获取并解析DTV信号的音频数据,第二播放器从应用模块获取并解析目标资源的视频数据,相当于仅保持开启DTV音频播放子链路,关闭DTV视频播放子链路,而DTV视频播放子链路关闭后被释放的视频解码器和显示器被目标应用占用,使目标资源的播放链路被开启,这样显示器显示目标资源的纯视频数据,声音播放器播放DTV信号的纯音频数据。因此通过两个播放器实现了不同Source、异类数据的同步播放,能避免音视频解码及播放之间的冲突问题,并且克服了在播放DTV时,用户起播应用内的纯视频导致的设备无声问题。
在一些实施例中,例如用户退出目标应用,或者点击返回键,又或者用户点击目标资源的播放界面上设置的结束播放控件时,均可实现根据用户自身意愿,随时主动结束并退出目标资源的播放。又例如,目标应用内的流媒体资源播放也存在某些限定,比如具有指定的播放时长或数据量要求,可通过检测目标资源的播放进程,获知在非人为干预播放的场景下,目标资源是否自然播放完成。当显示设备接收到用户输入的结束播放目标资源的操作,或者显示设备检测到目标资源的播放进程达到终点,即检测到满足目标资源播放结束的条件,则第一播放器恢复从DTV模块获取并解析DTV信号的音视频数据,并关闭第二播放器,使得显示器和播放器分别播放DTV信号的视频数据和音频数据。
关闭第二播放器的目的在于,一方面彻底关闭目标资源的播放链路,使得DTV信号的音视频数据能够解码播放,从而在退出目标资源播放时,同步恢复原DTV源的播放;另一方面,可以释放当前目标应用对第二播放器的加载和占用,使得第二播放器恢复独立和可用性,便于后续可被其他应用调用。
在一些实施例中,参照图6,第二播放器内包括注入器,注入器上行用于从应用模块中获取目标资源的音频数据和/或视频数据,具体取决于目标资源的数据类型。注入器下行用于将获取到的目标资源的数据注入至对应的解码器中,例如若目标资源为纯音频,则注入器将目标资源的音频数据注入到音频解码器中;若目标资源为音视频,则注入器分别将目标资源的视频数据注入到视频解码器,将目标资源的音频数据注入到音频解码器,实现音、视频数据独立解码播放。
在一些实施例中,采用两个独立线程分别执行目标资源的视频数据和音频数据的注入控制,本申请中命名为第一注入线程和第二注入线程,第一注入线程和第二注入线程可由应用模块创建。第一注入线程用于在目标资源的数据被解码之前,对目标资源的视频数据进行注入控制;所述第二注入线程用于在目标资源的数据被解码之前,对目标资源的音频数据进行注入控制。第一注入线程/第二注入线程链接于应用模块与第二播放器中的注入器间。
目标资源的数据类型可以是音视频、纯视频和纯音频。在一种实施方式中,在第二播放器获取目标资源的数据之前,应用模块可以先检测目标资源的数据类型,并根据数据类型去确定线程的创建种类和数量。若所述数据类型为音视频数据,则同时创建第一注入线程和第二注入线程;若所述数据类型为纯视频数据,则仅创建第一注入线程,无需创建第二注入线程;若所述数据类型为纯音频数据,则仅创建第二注入线程,无需第一注入线程,即目标资源为纯视频或纯音频类型时,创建的线程数量仅为一个,从而降低双线程对资源的占用和消耗。
在另一种实施方式中,在第二播放器获取目标资源的数据之前,应用模块也可默认直接创建第一注入线程和第二注入线程,然后由线程自发检测目标资源的数据类型,并根据数据类型去控制自身的工作状态。例如,第一注入线程若检测到目标资源为音视频或纯视频类型,即目标资源中存在视频流,则第一注入线程会执行对目标资源的视频数据的注入控制;第一注入线程若检测到目标资源为纯音频类型,而第一注入线程自身仅能处理视频数据,则第一注入线程不执行注入控制的程序,即相当于第一注入线程处于阻塞状态。同理,第二注入线程若检测到目标资源为音视频或纯音频类型,即目标资源中存在音频流,则第二注入线程会执行对目标资源的音频数据的注入控制;第二注入线程若检测到目标资源为纯视频类型,而第二注入线程自身仅能处理音频数据,则第二注入线程不执行注入控制的程序,即相当于第二注入线程处于阻塞状态。该实现方式默认直接创建双线程,尤其是对于具有Ginga功能的底面数字电视,可以在切换DTV节目频道时,更好地适应不同频道对应的Ginga应用中的资源类型。
在一些实施例中,在播放目标应用中的流媒体资源时,解码器的buffer处于有进有出的动态变化,一方面注入器会向解码器的buffer中按帧注入数据,另一方面解码器从其buffer中按帧读取数据并进行解码,解码完成的数据会从buffer中清除。在实际应用中,例如恶劣天气影响显示设备对DTV信号的接收,又例如用户可以调整目标资源的播放倍速(比如调至2倍速、0.5倍速)等场景,会导致解码器的缓存和解码无法达到相对平衡。当缓存速度大于解码速度时,解码器的buffer水位快速升高,可能出现因buffer中缓存过度堆积而导致部分数据被冲刷掉,影响音视频播放效果;当缓存速度小于解码速度时,则出现“入不敷出”的情况,导致流媒体出现视频和/或音频卡顿问题。为解决缓存与解码不平衡对流媒体资源播放的影响,本申请示例性提供一种基于解码器buffer水位进行数据自适应注入控制的方案,该方案通过第一注入线程/第二注入线程以及注入器实现。
在一些实施例中,对目标资源的视频数据进行注入控制为例,第一注入线程从应用模块中按帧读取视频帧数据,并在接收到注入器发送的第一数据注入请求时,开启第一注入线程,对当前视频帧数据进行ID标记,记录当前获取到目标资源的第几帧视频帧,然后将该视频帧数据发送给注入器,注入器即可将获取到的视频帧数据注入到视频解码器中,等待被解码播放。
在一些实施例中,本申请中的基于解码器水位自适应控制数据注入的方案机制关键在于,注入器可以实时查询解码器当前的缓存余量(即水位),注入器根据缓存余量,控制与第一注入线程和/或第二注入线程之间的通信状态。这里所述的通信状态包括是否向注入线程发送数据注入请求,以请求获取相应类型的数据(目标资源的视频数据和/或音频数据)。通过解码器buffer的水位实现数据注入控制,从而调节解码器的缓存与解码的相对平衡,实现对目标资源的精准播放控制。
在一些实施例中,设置第一阈值和第二阈值,来衡量解码器buffer中的水位等级。解码器buffer中的缓存余量大于第一阈值,则处于高等(High)水位;解码器buffer中的缓存余量处于[第二阈值,第一阈值]的区间范围内,则处于中等(Mid)水位;解码器buffer中的缓存余量小于第二阈值,则处于低等(Low)水位。
在一些实施例中,所述第一阈值=第一预设时间*当前播放倍速,所述第二阈值=第二预设时间*当前播放倍速,第一预设时间大于第二预设时间,可选地,第一预设时间设置为2秒,第二预设时间设置为0.5秒,第一预设时间和第二预设时间不做限定。显示设备播放流媒体时正常默认为一倍速,一倍速表征单位时间内解码播放的数据量,比如为KB/s或MB/s等,假设一倍速为512KB/s,则二倍速即为1MB/s,0.5倍速为256KB/s。第一阈值和第二阈值分别与当前播放倍速成正比,根据当前播放倍速,结合第一预设时间和第二预设时间,即可快速确定第一阈值和第二阈值,从而为数据注入控制提供水位参数依据。
在一些实施例中,第一注入线程访问应用模块,并检测应用模块的内存中是否具有待处理的视频数据,若无待处理的视频数据,说明目标资源的视频已播放完成,则第一注入线程工作结束并释放资源;若具有待处理的视频数据,第一注入线程从应用模块中读取目标资源的一帧视频帧数据,然后等待注入器反馈第一数据注入请求,此时第一注入线程处于阻塞状态,第一注入线程读取的视频帧数据无法传输到注入器中。
在一些实施例中,第一注入线程读取到一帧视频帧数据时,可以向注入器发送指示信息A;注入器响应于接收到的指示信息A,查询视频解码器的buffer中的缓存余量(即buffer当前缓存中尚未被解码的数据量),为便于区分,本申请中将视频解码器的缓存余量命名为第一缓存余量。
在一些实施例中,若第一缓存余量大于第一阈值,说明视频解码器buffer当前处于高等水位,意味着缓存速度大于解码速度,为避免视频解码器buffer中缓存过度堆积,注入器可暂停向第一注入线程发送第一数据注入请求;第一注入线程接收不到第一数据注入请求,则保持等待中的阻塞状态。由于第一注入线程不向注入器传输数据,使得视频解码器的buffer呈现“只出不进”的工作状态,水位会逐渐下降,直至水位下降至中等水位,即第一缓存余量下降至[第二阈值,第一阈值]的区间范围内时,buffer中已解码消耗了一定缓存,则注入器可恢复向第一注入线程发送第一数据注入请求。
在一些实施例中,若第一缓存余量处于[第二阈值,第一阈值]的区间范围内,说明视频解码器buffer当前处于中等水位,意味着视频数据的缓存与解码相对较为平衡,则注入器保持向第一注入线程发送第一数据注入请求。
在一些实施例中,若第一缓存余量小于第二阈值,说明视频解码器buffer当前处于低等水位,意味着缓存速度小于解码速度,若继续解码播放视频数据,会因缓存不足而导致视频卡顿。对于这种情况,注入器保持向第一注入线程发送第一数据注入请求,并且向显示器发送第一指示信息;显示器响应于接收到的第一指示信息,会暂停播放当前目标资源的视频数据,UI暂停在最新显示的一帧画面,使视频解码器暂停解码工作,这样视频解码器的buffer呈现“只进不出”的工作状态,水位会逐渐上升,直至水位上升至高等水位,即第一缓存余量上升至第一阈值时,buffer中已积累了一定的缓存,则可恢复视频解码器的解码工作,注入器可向显示器发送第二指示信息;显示器响应于接收到的第二指示信息,在当前暂停帧处继续启动播放后续被解码的视频帧数据。
在一些实施例中,第一注入线程读取视频帧数据后,在接收到注入器发送的第一数据注入请求时,开启第一注入线程,即将第一注入线程从原阻塞状态下唤醒,然后标记读取到的视频帧数据的ID。可选地,所述视频帧数据的ID可以是帧序号,用于标记该视频帧数据是目标资源的视频数据中所属第几帧,通过为每帧视频帧数据设置ID,可以保证视频流播放的连续性和准确性。第一注入线程被唤醒后,即可将视频帧数据发送给注入器,然后由注入器将视频帧数据注入到视频解码器的buffer中等待解码显示。视频帧数据在经过第一注入线程、注入器和视频解码器的传输中始终携带有其ID,使得视频解码器的buffer可以根据各项ID,对当前缓存的视频帧数据进行排序,形成第一缓存队列,所述第一缓存队列中序位越靠前的视频帧数据则越优先被解码,比如先解码第1视频帧,然后第2视频帧,以此类推。
在一些实施例中,第一注入线程等待注入器反馈第一数据注入请求时,可能存在等待超时的情况。可选地,第一注入线程向注入器发送指示信息A后,开始计时,若计时时间达到预设时长时,第一注入线程仍未接收到注入器发送的第一数据注入请求,判定为等待超时,则第一注入线程虽然仍保持阻塞状态,但不再继续等待,而是再次检测应用模块中是否具有待处理的视频数据,若应用模块中具有待处理的视频数据,则读取下一帧视频帧数据,然后再次发送指示信息A并等待注入器反馈。
在一些实施例中,第二注入线程访问应用模块,并检测应用模块的内存中是否具有待处理的音频数据,若无待处理的音频数据,说明音频已播放完成,则第二注入线程工作结束并释放资源;若具有待处理的音频数据,第二注入线程从应用模块中读取目标资源的一帧音频帧数据,然后等待注入器反馈第二数据注入请求,此时第二注入线程处于阻塞状态,第二注入线程读取的音频帧数据无法传输到注入器中。
在一些实施例中,第二注入线程读取到一帧音频帧数据时,可以向注入器发送指示信息B;注入器响应于接收到的指示信息B,查询音频解码器的buffer中的缓存余量(即buffer当前缓存中尚未被解码的数据量),为便于区分,本申请中将音频解码器的缓存余量命名为第二缓存余量。
在一些实施例中,若第二缓存余量大于第一阈值,说明音频解码器buffer当前处于高等水位,缓存速度大于解码速度,为避免音频解码器buffer中缓存过度堆积,注入器可暂停向第二注入线程发送第二数据注入请求;第二注入线程接收不到第二数据注入请求,则保持等待中的阻塞状态。由于第二注入线程不向注入器传输数据,使得音频解码器的buffer呈现“只出不进”的工作状态,水位会逐渐下降,直至水位下降至中等水位,即第二缓存余量下降至[第二阈值,第一阈值]的区间范围内时,buffer中已解码消耗了一定缓存,则注入器可恢复向第二注入线程发送第二数据注入请求。
在一些实施例中,若第二缓存余量处于[第二阈值,第一阈值]的区间范围内,说明音频解码器buffer当前处于中等水位,意味着音频数据的缓存与解码相对较为平衡,则注入器保持向第二注入线程发送第二数据注入请求。
在一些实施例中,若第二缓存余量小于第二阈值,说明音频解码器buffer当前处于低等水位,缓存速度小于解码速度,若继续解码播放音频数据,会因缓存不足而导致音频播放出现卡顿问题。对于这种情况,注入器保持向第二注入线程发送第二数据注入请求,并且向声音播放器发送第三指示信息;声音播放器响应于接收到的第三指示信息,会暂停播放当前目标资源的音频数据,使音频解码器暂停解码工作,这样音频解码器的buffer呈现“只进不出”的工作状态,水位会逐渐上升,直至水位上升至高等水位,即第二缓存余量上升至第一阈值时,buffer中已积累了一定的缓存,则可恢复音频解码器的解码工作,注入器可向声音播放器发送第四指示信息;声音播放器响应于接收到的第四指示信息,在当前暂停帧处继续启动播放后续被解码的音频帧数据。
在一些实施例中,第二注入线程读取音频帧数据后,在接收到注入器发送的第二数据注入请求时,开启第二注入线程,即将第二注入线程从原阻塞状态下唤醒,然后标记读取到的音频帧数据的ID。可选地,所述音频帧数据的ID可以是帧序号,用于标记该音频帧数据是目标资源的音频数据中所属第几帧,通过为每帧音频帧数据设置ID,可以保证音频流播放的连续性和准确性。第二注入线程被唤醒后,即可将音频帧数据发送给注入器,然后由注入器将音频帧数据注入到音频解码器的buffer中等待解码显示。音频帧数据在经过第二注入线程、注入器和音频解码器的传输中始终携带有其ID,使得音频解码器的buffer可以根据各项ID,对当前缓存的音频帧数据进行排序,形成第二缓存队列,所述第二缓存队列中序位越靠前的音频帧数据则越优先被解码,比如先解码第1音频帧,然后第2音频帧,以此类推。
在一些实施例中,第二注入线程等待注入器反馈第二数据注入请求时,可能存在等待超时的情况。可选地,第二注入线程向注入器发送指示信息B后,开始计时,若计时时间达到预设时长时,第二注入线程仍未接收到注入器发送的第二数据注入请求,判定为等待超时,则第二注入线程虽然仍保持阻塞状态,但不再继续等待,而是再次检测应用模块中是否具有待处理的音频数据,若应用模块中具有待处理的音频数据,则读取下一帧音频帧数据,然后再次发送指示信息B并等待注入器反馈。
通过对解码器buffer水位高低的自适应控制,可适当改善音视频的起播时间以及播放过程中因缓存不足导致的卡顿问题。如果期望音视频数据能快速起播,则可将第二阈值设置相对偏小,当解码器buffer中水位高于第二阈值时,即启动播放音视频数据。如果期望减少播放过程中因缓存不足导致播放暂停/卡顿的几率,则可将第一阈值设置相对偏大,保证有足够量的缓存数据。根据不同的应用场景,可适应性调整第一阈值和/或第二阈值的大小,优化用户的观影体验。
需要说明的是,第一播放器端对DTV视频/音频数据的注入控制机制与第二播放器端的示例基本一致,具体可适应性参照前述各实施例的描述,这里不再赘述。
对于图5的主控集中式示例,利用共享内存链接于Ginga模块和播放控制模块间,以实现数据跨进程传输和共享;对于本申请图6的端独立式示例,以目标应用是Ginga应用为例,可将第二播放器直接加载和调用到Ginga进程中,无需共享内存的共享和过渡,Ginga应用可以直接将目标资源的音频ES流和/或视频ES流传输到第二播放器的注入器中,再由注入器将数据注入到对应的解码器,降低对系统内存的占用,并提高了数据传输的效率。此外,端独立式相较于主控集中式,可以避免应用内目标资源为纯音频时出现的画面黑屏问题,也可以避免目标资源为纯视频/图像时出现的设备无声问题,从而为用户提供更好的体验。
在一些实施例中,如图8所示,提供一种资源播放方法,所述方法的执行主体为控制器,所述方法包括如下程序步骤:
步骤S01,在接收到播放DTV操作时,控制第一播放器从DTV模块获取并解析DTV信号的音视频数据,并控制显示器显示DTV信号的视频数据,以及控制声音播放器播放DTV信号的音频数据。
步骤S02,接收到起播目标应用中目标资源的操作时,将第二播放器调用至目标应用的进程中。
步骤S03,检测所述目标资源的数据类型。所述目标资源的数据包括包括音视频、纯音频和纯视频。
步骤S04,根据所述目标资源的数据类型,同步控制所述第一播放器和第二播放器的工作状态。
可选地,参照图8,基于步骤S03中可能检测到的数据类型,所述步骤S04还可细化为三条支线逻辑,支线逻辑一包括步骤S041A~步骤S041D,支线逻辑二包括步骤S042A~步骤S042D,支线逻辑三包括步骤S043A和步骤S043D。
当步骤S03中检测到目标资源为纯音频类型时,执行支线逻辑一,支线逻辑一包括:
步骤S041A,控制所述第一播放器停止获取和解析DTV信号的音频数据,仅从DTV模块获取并解析DTV信号的视频数据。
步骤S041B,控制所述第二播放器从应用模块获取并解析所述目标资源的音频数据。
步骤S041C,控制显示器显示所述DTV信号的视频数据,以及,控制声音播放器播放所述目标资源的音频数据。
在支线逻辑一中,目标资源为纯音频类型,第一播放器需要释放对音频解码器和声音播放器的占用,仅解码播放DTV信号的视频数据;第二播放器申请调用被释放的音频解码器和声音播放器,从而播放目标资源的纯音频数据。
步骤S041D,检测目标资源是否播放结束。如果目标资源未播放结束,即目标资源未发生变化和切换,那么其数据类型一般也保持不变,则无需再次检测目标资源的数据类型,而是继续执行步骤S041B,即保持支线逻辑一的播放状态;如果目标资源播放结束,则执行步骤S05和步骤S06。当步骤S03中检测到目标资源为音视频类型时,执行支线逻辑二,支线逻辑二包括:
步骤S042A,控制所述第一播放器停止获取和解析DTV信号的音视频数据。
步骤S042B,控制所述第二播放器从应用模块获取并解析目标资源的音视频数据。
步骤S042C,控制显示器显示所述目标资源的视频数据,以及,控制声音播放器播放所述目标资源的音频数据。
在支线逻辑二中,目标资源为音视频类型,第一播放器需要同时释放对音视频解码器和播放设备(包括显示器和声音播放器)的占用,第一播放器停止工作,显示设备停止播放DTV信号的音视频数据;第二播放器申请调用被释放的音视频解码器和播放设备,从而播放目标资源的音视频数据。
步骤S042D,检测目标资源是否播放结束。如果目标资源未播放结束,即目标资源未发生变化和切换,那么其数据类型一般也保持不变,则无需再次检测目标资源的数据类型,而是继续执行步骤S042B,即保持支线逻辑二的播放状态;如果目标资源播放结束,则执行步骤S05和步骤S06。
当步骤S03中检测到目标资源为纯视频类型时,执行支线逻辑三,支线逻辑三包括:
步骤S043A,控制所述第一播放器停止获取和解析DTV信号的视频数据,仅从DTV模块获取并解析DTV信号的音频数据。
步骤S043B,控制所述第二播放器从应用模块获取并解析所述目标资源的视频数据。
步骤S043C,控制显示器显示所述目标资源的视频数据,以及,控制声音播放器播放所述DTV信号的音频数据。
在支线逻辑三中,目标资源为纯视频类型,第一播放器需要释放对视频解码器和显示器的占用,仅解码播放DTV信号的音频数据;第二播放器申请调用被释放的视频解码器和显示器,从而播放目标资源的纯视频数据。
步骤S043D,检测目标资源是否播放结束。如果目标资源未播放结束,即目标资源未发生变化和切换,那么其数据类型一般也保持不变,则无需再次检测目标资源的数据类型,而是继续执行步骤S043B,即保持支线逻辑三的播放状态;如果目标资源播放结束,则执行步骤S05和步骤S06。
步骤S05,关闭所述第二播放器,控制所述第一播放器从DTV模块获取并解析所述DTV信号的音视频数据。
步骤S06,控制显示器显示所述DTV信号的视频数据,以及,控制声音播放器播放所述DTV信号的音频数据。在目标资源播放完成后,关闭第二播放器,第二播放器即可退出目标应用进程,显示设备恢复DTV播放。关闭第二播放器后,第二播放器释放自身占用的音频和/或视频的解码播放资源,使得第一播放器能够同时使用音视频的解码播放资源,从而恢复DTV信号的完整播放。
在图8所示的控制流程的基础上,在一些实施例中,图9示例的交互流程中具体提供了目标资源数据的注入控制逻辑,以目标资源为纯音频类型为例,目标资源播放过程中,第一播放器调用视频解码器和显示器,第二播放器包括注入器并调用音频解码器和声音播放器;目标资源播放结束后,第二播放器释放对音频解码器和声音播放器的占用,第一播放器调用音视频解码器、显示器和声音播放器。DTV模块、应用模块、第一播放器和第二播放器之间涉及的交互流程包括:
步骤S101,在播放DTV信号的过程中,应用模块接收到对目标资源的起播操作,将第二播放器调用至自身进程中。
步骤S102,应用模块检测到目标资源的数据类型为纯音频,向第一播放器发送指示信息C,向第二播放器发送指示信息D,以及创建第二注入线程。
步骤S103,第一播放器响应于接收到的指示信息C,停止获取和解析DTV信号的音频数据,仅从DTV模块获取并解析DTV信号的视频数据。
步骤S104,第二注入线程从应用模块中读取目标资源的一帧音频帧数据,并控制自身线程为阻塞状态,等待注入器的反馈。
步骤S105,第二播放器中的注入器响应于接收到的指示信息D,查询到音频解码器当前的第二缓存余量小于第二阈值,即buffer处于低等水位,则向第二注入线程发送第二数据注入请求。由于用户刚输入对目标资源的起播操作,音频解码器buffer中尚未缓存任何与当前目标资源有关的音频数据,因此必然处于低水位,需要积累一定的缓存才能正式解码播放。
步骤S106,第二注入线程接收注入器发送的第二数据注入请求,则开启第二注入线程,标记并保存当前的音频帧数据的ID,并将音频帧数据发送给注入器。
步骤S107,注入器将音频帧数据注入到音频解码器的buffer中等待解码。然后重复步骤S103~步骤S107,即在保持播放DTV视频画面时,逐渐积累目标资源的音频数据的缓存。
步骤S108,音频解码器检测到buffer中的第二缓存余量上升至第二阈值时,按照音频帧缓存的先后顺序,启动解码及播放程序。
步骤S109,在目标资源播放过程中,注入器实时查询音频解码器的第二缓存余量。
步骤S110A,注入器判断第二缓存余量是否处于[第二阈值,第一阈值]的区间范围内。若第二缓存余量处于[第二阈值,第一阈值]的区间范围内,音频解码器的buffer处于中等水位,则执行步骤S111。若第二缓存余量不位于该区间范围内,则执行步骤S110B。
步骤S110B,注入器判断第二缓存余量是否大于第一阈值。若第二缓存余量大于第一阈值,音频解码器的buffer处于高等水位,则执行步骤S112;若否,即第二缓存余量小于第二阈值,音频解码器的buffer处于低等水位,则执行步骤S113~步骤S116。在目标资源的音频数据播放过程中,采取按帧注入的方式,第二注入线程从应用模块中每读取一帧音频帧数据,都暂时处于阻塞状态,并等待注入器发送第二数据注入请求,只有接收到第二数据注入请求才唤醒第二注入线程,将当前音频帧数据发送给注入器。
步骤S111,注入器保持向所述第二注入线程发送所述第二数据注入请求。
步骤S112,注入器暂停向第二注入线程发送第二数据注入请求,直至第二缓存余量下降至[第二阈值,第一阈值]的区间范围内时,恢复向第二注入线程发送第二数据注入请求。
步骤S113,注入器保持向第二注入线程发送第二数据注入请求,向声音播放器发送第三指示信息。
步骤S114,声音播放器接收第三指示信息,暂停播放目标资源的音频数据。声音播放器处于暂停播放状态时,音频解码器会同步暂停解码。
步骤S115,注入器检测到第二缓存余量上升至第一阈值时,向声音播放器发送第四指示信息。
步骤S116,声音播放器接收第四指示信息,在当前暂停帧处继续播放目标资源后续被解码的音频帧数据。声音播放器在暂停处恢复播放时,音频解码器同步恢复解码。
步骤S117,应用模块检测目标资源是否播放结束。若目标资源未播放结束,即用户未主动退出目标资源的播放,并且目标资源的播放进程也未达到终点,则重复执行前述目标资源音频数据的读取、注入控制、解码和播放流程;反之,若检测到目标资源播放结束,即控制器接收到用户停止播放目标资源的操作,或者目标资源自然播放完毕,则执行步骤S118和步骤S119。
步骤S118,应用模块关闭第二播放器,使第二播放器退出应用进程。可选地,应用模块可以向第一播放器发送指示信息M,用于向第一播放器通知目标资源已播放完成,由于第二播放器已关闭并退出应用进程,因此音频解码器和声音播放器被解除占用,使得第一播放器在接收到指示信息M时,即可重新调用音频解码器和声音播放器至TVmain进程中,进而重新恢复对DTV信号中音频数据的传输、解码和播放。
步骤S119,第一播放器响应于接收到的指示信息M,从DTV模块获取并解析DTV信号的音视频数据,并控制显示器显示DTV信号的视频数据,控制声音播放器播放DTV信号的音频数据,从而在目标资源结束播放后,自动恢复播放DTV源的音视频。
需要说明的是,DTV数据也可支持与目标资源相同的注入控制逻辑,DTV数据可设置对应的DTV注入器,DTV模块可建立第三注入线程和第四注入线程,第三注入线程链接于DTV模块与DTV注入器间,用于对DTV信号的视频数据进行注入控制;第四注入线程链接于DTV模块与DTV注入器间,用于对DTV信号的音频数据进行注入控制。
当目标资源为音视频或纯视频类型时,数据注入控制逻辑与前述纯音频类型相似,当为音视频时,第一注入线程和第二注入线程同时运行,并分别对目标资源的音频数据和视频数据进行注入控制;当为纯视频时,仅第一注入线程运行,第二注入线程不执行数据注入控制或不创建第二注入线程。此外,当目标资源的数据类型不同时,对第一播放器和第二播放器的工作状态的协调控制可参照图8的支线逻辑,本申请实施例不再赘述。
在一种示例性的实现方式中,对于图5示例的主控集中式架构,用户在Ginga应用中启动播放目标资源时,Ginga SDK会创建MediaBackend,并创建MediaBackend的示例对象MediaBackend_,再调用setHasAudioSource和setHasVideoSource接口设置ES流的类型(纯音频、纯视频和音视频),再调用create接口去创建用于与注入器通信的RPC通信链路和共享内存,然后调用setUrl接口去创建播放路径(即访问和连接Source的URL路径),将Source由原DTV切换为Ginga,之后调用createAudioStream和createVideoStream分别创建音频流和视频流的播放链路,调用startAudioInject和startVideoInject启动音视频资源的播放流程,最后创建第一注入线程和第二注入线程分别处理视频和音频的数据注入,则解码播放前的所有基础配置工作已准备就绪,即可按照主控集中式的资源播放控制逻辑,正式执行音视频数据的传输、注入控制和解码播放等流程。
在一种示例性的实现方式中,对于图6调用端独立式播放器的架构,应用模块可以创建EsPlayerImpl对象,若应用模块为Ginga模块,则由MediaBackend创建EsPlayerImpl对象,并通过EsPlayerImpl对象去调用第二播放器及实现应用内目标资源的播放控制。通过第二播放器内调用的解码器和播放设备实现目标资源ES流的播放,目标应用的播控命令、注入器的数据注入请求、目标资源音/视频数据的注入控制等环节可通过函数的调用和回调实现。播控指令通过EsPlayerImpl调用Injector模块函数,Injector调用HUI模块函数通知解码器,使解码器根据应用层下发的用户播控命令执行对应的解码播放程序;EsPlayerImpl在创建时会注册回调函数,Injector通过向EsPlayerImpl回调,从而向应用模块请求获取目标资源的数据;应用模块接收到Injector的请求后,再通过EsPlayerImpl调用Injector模块函数,Injector调用HUI模块函数的方式,最终将目标资源的数据注入解码器的buffer中,即从上层向底层是通过调用函数的方式下行通信,从底层向上层是通过回调函数的方式上行通信。
在一些示例性的实现方式中,以动态库形式存在的第二播放器,可对外提供统一的API(Application Programming Interface,应用程序接口),应用程序可基于这些API开发适应于自身进程的第二播放器,EsPlayerImpl通过调用这些API实现资源播放器的相关功能。
由以上主控集中式和端独立式的对比可以看出,主控集中式同一时刻仅能有一个播放器工作,即只能有一个Source占用音视频数据的解码和播放资源;而端独立式的第二播放器以动态库形式存在,可以在任意支持ES流播放的应用进程中被加载并运行,应用进程通过链接该动态库,调用动态库提供的相关函数,即可实现应用内ES流媒体资源的播放,相当于为每个进程配备一个可被调用、独立的播放器,支持在同一时刻运行一个或多个播放器,例如在播放DTV时,启动播放Ginga应用内的纯音频资源,此时可不切换Source,即Source仍为DTV,Ginga进程向DTV模块申请释放被DTV源占用的音频解码器和声音播放器,转由Ginga应用占用音频解码器和声音播放器,此时DTV源则仅占用视频解码器和显示器,Ginga进程再创建EsPlayerImpl实现目标资源的播放控制,使得电视画面显示DTV节目,而播放的声音为Ginga应用内纯音频资源,此时DTV对应的第一播放器与Ginga应用对应的第二播放器同时工作,第一播放器占用视频解码和播放资源,第二播放器占用音频解码和播放资源。
对于端独立式,显示设备当前Source为DTV,若未启动播放其他应用内的目标资源,则音视频数据的解码和播放等相关资源被DTV源独占,可以通过默认的TVmain进程实现Source的管理和切换。当Source为DTV时,允许目标应用向DTV模块申请释放部分或全部解码播放资源,当启动播放目标应用内的纯音频资源时,目标应用向DTV模块仅申请释放音频解码器和声音播放器;当启动播放目标应用内的音视频资源时,目标应用需要向DTV申请释放音频解码器和声音播放器,同时申请释放视频解码器和显示器;当启动播放目标应用内的纯视频资源时,目标应用向DTV模块仅申请释放视频解码器和显示器。当目标资源播放结束时,目标应用通知DTV模块并释放自身占用的解码播放资源,DTV播放链路重新占用目标应用释放的解码播放资源,此时DTV源占用了音视频解码器、显示器和声音播放器,显示设备恢复DTV节目的正常播放,通过这种解码播放资源的二级管理方式,实现多Source通过多个播放器进行不同类型数据的播放,有效解决Source间播放冲突问题,并克服了单Source独占解码播放资源时存在的如“有声但画面黑屏”和“有画面但无声”等问题,提升用户观看体验。
此外,相较于主控集中式,端独立式中目标应用可直接将第二播放器加载于自身进程中,使目标资源的播放流程在应用进程内部消化完成,并通过函数调用和回调方式进行通信和播放流程控制,而无需通过RPC和共享内存进行跨进程通信和数据传输,可提升数据传输效率,加快目标资源起播速度,并减小系统内存的消耗。将第二播放器独立插件化,使得应用在调用第二播放器开发自身ES流播放功能时,能缩短开发周期,使用灵活,可扩展性和可维护性更强,降低了应用开发和维护的成本。
在一些示例性的实现方式中,对于具备Ginga功能的数字电视,电视系统中可以同时配置主控集中式和端独立式这两种资源播放模式。可选地,通过一个编译宏开关“USING_MEDIA_BACKEND”进行模式选择,当编译宏开关打开时启用主控集中式,当编译宏开关关闭时启用端独立式。可以针对不同的应用程序,适应性选择需要启用的资源播放模式,作为示例,对于仅具有纯音频资源的应用程序,比如某些听书应用、听歌应用等,可启用端独立式,实现边看DTV信号的视频,边听应用内的音频;对于仅具有纯视频/图像/文本(不涉及音频内容)的应用程序,比如壁纸应用、电子书阅读等,也可启用端独立式,实现边看应用内的视频/图像/文本,边听DTV信号的音频;对于DTV这类具有音视频的Source,既可以使用主控集中式,或者也可使用端独立式。
本申请中目标应用不限于Ginga应用,还可以是其他具有流媒体或多媒体播放能力的应用程序。资源播放的控制逻辑架构不限于本申请实施例及附图所示,以本申请资源播放的流程和控制逻辑为基础,可以对显示设备系统、DTV模块和应用模块等相关模块或硬件的底层配置、通信标准等内容进行适应性设置。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。具体实现中,本发明还提供一种计算机存储介质,该计算机存储介质可存储有程序。当计算机存储介质位于显示设备中时,该程序执行时可包括前述各项实施例中涉及的资源播放方法的部分或全部程序步骤。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-Only Memory,简称ROM)或随机存储记忆体(英文:Random Access Memory,简称RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (9)
1.一种显示设备,其特征在于,包括:
显示器,用于显示视频数据;
声音播放器,用于播放音频数据;
用户接口,用于接收用户输入的操作;
DTV模块,用于获取DTV信号的音视频数据;
应用模块,用于获取目标应用中目标资源的音视频数据;
控制器,用于执行:
在接收到播放DTV操作时,控制第一播放器开启DTV视频播放子链路和DTV音频播放子链路;
接收到起播目标应用中目标资源的操作时,将第二播放器调用至目标应用的进程中;
根据所述目标资源的数据类型,控制所述第一播放器调节DTV播放链路的工作状态,以及控制所述第二播放器调节目标资源播放链路的工作状态,使显示设备为单路视频和单路音频的播放状态;
其中,所述DTV播放链路包括所述DTV视频播放子链路和所述DTV音频播放子链路;所述DTV视频播放子链路包括所述DTV模块、视频解码器和所述显示器;所述DTV音频播放子链路包括所述DTV模块、音频解码器和所述声音播放器;
所述目标资源播放链路包括目标资源视频播放子链路和目标资源音频播放子链路;所述目标资源视频播放子链路包括所述应用模块、所述视频解码器和所述显示器;所述目标资源音频播放子链路包括所述应用模块、所述音频解码器和所述声音播放器;
控制器根据所述目标资源的数据类型,控制所述第一播放器调节DTV播放链路的工作状态,以及控制所述第二播放器调节目标资源播放链路的工作状态,包括:
若检测到所述目标资源为纯音频资源,控制所述第一播放器关闭所述DTV音频播放子链路,并保持所述DTV视频播放子链路的开启状态;
控制所述第二播放器开启所述目标资源音频播放子链路,并保持所述目标资源视频播放子链路的关闭状态,使得所述显示器显示所述视频解码器解码后的所述DTV信号的视频数据,所述声音播放器播放所述音频解码器解码后的所述目标资源的音频数据。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器根据所述目标资源的数据类型,控制所述第一播放器调节DTV播放链路的工作状态,以及控制所述第二播放器调节目标资源播放链路的工作状态,包括:
若检测到所述目标资源为纯视频资源,控制所述第一播放器关闭所述DTV视频播放子链路,并保持所述DTV音频播放子链路的开启状态;
控制所述第二播放器开启所述目标资源视频播放子链路,并保持所述目标资源音频播放子链路的关闭状态,使得所述显示器显示所述视频解码器解码后的所述目标资源的视频数据,所述声音播放器播放所述音频解码器解码后的所述DTV信号的音频数据。
3.根据权利要求1~2任一项所述的显示设备,其特征在于,所述控制器还用于执行:
在检测到所述目标资源播放结束时,控制所述第二播放器关闭当前配置的所述目标资源播放链路后,关闭所述第二播放器;
控制所述第一播放器将所述DTV视频播放子链路和所述DTV音频播放子链路调节为开启状态,使得所述显示器显示所述视频解码器解码后的所述DTV信号的视频数据,所述声音播放器播放所述音频解码器解码后的所述DTV信号的音频数据。
4.根据权利要求1~2任一项所述的显示设备,其特征在于,所述控制器还用于执行:
在第二播放器获取目标资源的数据之前,控制应用模块检测目标资源的数据类型;
若所述数据类型为纯视频资源,则控制应用模块仅创建第一注入线程;所述第一注入线程链接于所述应用模块与第一注入器之前,所述第一注入器用于将所述目标资源的视频数据注入所述视频解码器;
若所述数据类型为纯音频数据,则控制应用模块仅创建第二注入线程;所述第二注入线程链接于所述应用模块与第二注入器之前,所述第二注入器用于将所述目标资源的音频数据注入所述音频解码器;
若所述数据类型为音视频数据,则控制应用模块创建所述第一注入线程和所述第二注入线程。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器还用于执行:
从所述应用模块中读取目标资源的一帧音频帧数据;
在接收到所述第二注入器发送的第二数据注入请求时,开启所述第二注入线程,标记并保存所述音频帧数据的ID;
通过所述第二注入线程,将标记有所述ID的音频帧数据发送给所述第二注入器。
6.根据权利要求4所述的显示设备,其特征在于,所述控制器还用于执行:
从所述应用模块中读取目标资源的一帧视频帧数据;
在接收到所述第一注入器发送的第一数据注入请求时,开启所述第一注入线程,标记并保存所述视频帧数据的ID;
通过所述第一注入线程,将标记有所述ID的视频帧数据发送给所述第一注入器。
7.根据权利要求5或6所述的显示设备,其特征在于,所述控制器还用于执行:
控制所述第一注入器查询所述视频解码器当前的第一缓存余量,控制所述第二注入器查询所述音频解码器当前的第二缓存余量;
根据所述第一缓存余量,控制所述第一注入线程的工作状态;
根据所述第二缓存余量,控制所述第二注入线程的工作状态。
8.一种显示设备中的资源播放方法,其特征在于,包括:
在接收到播放DTV操作时,控制第一播放器开启DTV视频播放子链路和DTV音频播放子链路;
接收到起播目标应用中目标资源的操作时,将第二播放器调用至目标应用的进程中;
根据所述目标资源的数据类型,控制所述第一播放器调节DTV播放链路的工作状态,以及控制所述第二播放器调节目标资源播放链路的工作状态,使显示设备为单路视频和单路音频的播放状态;
其中,所述DTV播放链路包括所述DTV视频播放子链路和所述DTV音频播放子链路;所述DTV视频播放子链路包括DTV模块、视频解码器和显示器;所述DTV音频播放子链路包括所述DTV模块、音频解码器和声音播放器;
所述目标资源播放链路包括目标资源视频播放子链路和目标资源音频播放子链路;所述目标资源视频播放子链路包括应用模块、所述视频解码器和所述显示器;所述目标资源音频播放子链路包括所述应用模块、所述音频解码器和所述声音播放器;
所述根据所述目标资源的数据类型,控制所述第一播放器调节DTV播放链路的工作状态,以及控制所述第二播放器调节目标资源播放链路的工作状态,包括:
若检测到所述目标资源为纯音频资源,控制所述第一播放器关闭所述DTV音频播放子链路,并保持所述DTV视频播放子链路的开启状态;
控制所述第二播放器开启所述目标资源音频播放子链路,并保持所述目标资源视频播放子链路的关闭状态,使得所述显示器显示所述视频解码器解码后的DTV信号的视频数据,所述声音播放器播放所述音频解码器解码后的所述目标资源的音频数据。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标资源的数据类型,控制所述第一播放器调节DTV播放链路的工作状态,以及控制所述第二播放器调节目标资源播放链路的工作状态,包括:
若检测到所述目标资源为纯视频资源,控制所述第一播放器关闭所述DTV视频播放子链路,并保持所述DTV音频播放子链路的开启状态;
控制所述第二播放器开启所述目标资源视频播放子链路,并保持所述目标资源音频播放子链路的关闭状态,使得所述显示器显示所述视频解码器解码后的所述目标资源的视频数据,所述声音播放器播放所述音频解码器解码后的所述DTV信号的音频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678999.5A CN113453063B (zh) | 2021-06-18 | 2021-06-18 | 一种资源播放方法及显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678999.5A CN113453063B (zh) | 2021-06-18 | 2021-06-18 | 一种资源播放方法及显示设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113453063A CN113453063A (zh) | 2021-09-28 |
CN113453063B true CN113453063B (zh) | 2023-04-07 |
Family
ID=77811773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110678999.5A Active CN113453063B (zh) | 2021-06-18 | 2021-06-18 | 一种资源播放方法及显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113453063B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103222A (zh) * | 2022-06-24 | 2022-09-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频音轨处理方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459818A (zh) * | 2007-12-14 | 2009-06-17 | 中兴通讯股份有限公司 | 一种蓝牙流媒体播放控制方法及停止控制方法 |
CN101778158A (zh) * | 2009-12-29 | 2010-07-14 | 闻泰集团有限公司 | 一种手机音频冲突处理的方法 |
CN103888832A (zh) * | 2014-03-07 | 2014-06-25 | 青岛海信宽带多媒体技术有限公司 | 一种播放终端接入数据源切换的处理方法和装置 |
CN108111520A (zh) * | 2017-12-28 | 2018-06-01 | 青岛海信电器股份有限公司 | 媒体播放资源处理方法、装置及终端 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179700B (zh) * | 2006-12-20 | 2011-05-11 | 腾讯科技(深圳)有限公司 | 节目源切换方法及流媒体播放系统 |
US9001737B2 (en) * | 2012-03-29 | 2015-04-07 | Qualcomm Incorporated | EMBMS service activation and maintenance procedure in multi-frequency networks |
US9104525B2 (en) * | 2013-01-22 | 2015-08-11 | Microsoft Technology Licensing, Llc | API usage pattern mining |
CN106233241B (zh) * | 2014-01-23 | 2020-03-31 | 苹果公司 | 虚拟计算机键盘 |
US9712514B2 (en) * | 2015-02-08 | 2017-07-18 | Cyber-Ark Software Ltd. | Super-session access to multiple target services |
CN204697233U (zh) * | 2015-06-18 | 2015-10-07 | 张向昕 | 连接电视频道的多媒体电视留言盒系统 |
CN209928579U (zh) * | 2019-07-09 | 2020-01-10 | 厦门日华科技股份有限公司 | 一种人防警报终端 |
CN112911065B (zh) * | 2021-01-18 | 2022-04-26 | 咪咕音乐有限公司 | 终端的播放音频方法、装置、电子设备及存储介质 |
-
2021
- 2021-06-18 CN CN202110678999.5A patent/CN113453063B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459818A (zh) * | 2007-12-14 | 2009-06-17 | 中兴通讯股份有限公司 | 一种蓝牙流媒体播放控制方法及停止控制方法 |
CN101778158A (zh) * | 2009-12-29 | 2010-07-14 | 闻泰集团有限公司 | 一种手机音频冲突处理的方法 |
CN103888832A (zh) * | 2014-03-07 | 2014-06-25 | 青岛海信宽带多媒体技术有限公司 | 一种播放终端接入数据源切换的处理方法和装置 |
CN108111520A (zh) * | 2017-12-28 | 2018-06-01 | 青岛海信电器股份有限公司 | 媒体播放资源处理方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113453063A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111741372B (zh) | 一种视频通话的投屏方法、显示设备及终端设备 | |
WO2021109422A1 (zh) | 待机控制方法及显示设备 | |
CN110022495B (zh) | 一种移动终端向显示设备推送媒体文件的方法及显示设备 | |
CN114302194A (zh) | 一种显示设备及多设备切换时的播放方法 | |
CN112153447B (zh) | 一种显示设备及音画同步控制方法 | |
WO2020098504A1 (zh) | 一种视频切换的控制方法及显示设备 | |
CN113064645B (zh) | 一种开机界面控制方法及显示设备 | |
CN114302238B (zh) | 一种音箱模式下提示信息的展示方法及显示设备 | |
CN113301420A (zh) | 一种内容显示方法和显示设备 | |
CN113630654A (zh) | 显示设备及媒资片源推送方法 | |
CN113542851A (zh) | 一种菜单刷新方法及显示设备 | |
CN112954462A (zh) | 显示设备及应用运行时长的控制方法 | |
CN114025223A (zh) | 一种录像状态下的频道切换方法及显示设备 | |
CN112653906A (zh) | 显示设备上视频热点播放方法及显示设备 | |
CN113453063B (zh) | 一种资源播放方法及显示设备 | |
CN113453052B (zh) | 音画同步方法及显示设备 | |
CN112272331B (zh) | 一种节目频道列表快速展示的方法及显示设备 | |
CN112836158A (zh) | 显示设备上的资源加载方法及显示设备 | |
CN114296679A (zh) | 一种音箱模式下快速起播的方法及显示设备 | |
CN112601109A (zh) | 音频播放方法及显示设备 | |
CN112584210B (zh) | 显示设备、视频录制方法及录制文件展示方法 | |
CN113453064B (zh) | 一种资源播放方法及显示设备 | |
CN114040258A (zh) | 数字电视节目由时移切换到录制的显示方法及显示设备 | |
CN113542765A (zh) | 一种媒体数据跳变续播方法及显示设备 | |
CN113645479A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221024 Address after: 83 Intekte Street, Devon, Netherlands Applicant after: VIDAA (Netherlands) International Holdings Ltd. Address before: No.02-2, 13th floor, building B2, phase 4.1, software industry, No.1, East Road, Donghu New Technology Development Zone, Wuhan, Hubei Province Applicant before: Hisense Electronic Technology (Wuhan) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |