CN112153395A - 流媒体数据播放方法和显示设备 - Google Patents
流媒体数据播放方法和显示设备 Download PDFInfo
- Publication number
- CN112153395A CN112153395A CN202010905461.9A CN202010905461A CN112153395A CN 112153395 A CN112153395 A CN 112153395A CN 202010905461 A CN202010905461 A CN 202010905461A CN 112153395 A CN112153395 A CN 112153395A
- Authority
- CN
- China
- Prior art keywords
- audio
- mpus
- image
- downloading task
- mpu
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 description 38
- 239000010410 layer Substances 0.000 description 38
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42202—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Ecology (AREA)
- Emergency Management (AREA)
- Environmental & Geological Engineering (AREA)
- Environmental Sciences (AREA)
- Remote Sensing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供了一种流媒体数据播放方法和显示设备。该显示设备,包括:显示器;与显示器耦合的控制器,控制器至少包括:MpuInject元件,MpuInject元件分别连接显示设备已设置的源Source元件、音频播放设备、以及显示器;Source元件,用于获取待播放的流媒体数据的文件描述信息并发送至MpuInject元件;文件描述信息用于指示由MpuInject元件对流媒体数据进行播放控制;MpuInject元件,用于接收文件描述信息,按照指定交替方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU,指定交替方式包括:音频MPU‑图像MPU或者图像MPU‑音频MPU中的其中一种方式;N为大于等于1的正整数;MpuInject元件,还用于将N个音频MPU输出至音频播放设备播放,以及将N个图像MPU输出至显示器显示。
Description
技术领域
本申请涉及电视技术,特别涉及流媒体数据播放方法和显示设备。
背景技术
在视频直播过程中,播放端比如服务器大多采用MMT(MPEG媒体传输)协议来向接收端比如显示设备传输待播放的流媒体数据,采用MMT协议传输的流媒体数据会被显示设备解析为若干个独立的MPU(媒体处理单元),这些MPU中包括携带有音频信息的音频MPU以及携带有图像信息的图像MPU。
但是,目前的显示设备还不能实现对音频MPU以及图像MPU的同步播放。
发明内容
本申请提供了流媒体数据播放方法和显示设备,以实现音频MPU与图像MPU的近似同步播放。
本申请提供的技术方案包括:
第一方面,本申请提供一种显示设备,包括:
显示器;
与所述显示器耦合的控制器,所述控制器至少包括:媒体处理单元注入MpuInject元件,MpuInject元件分别连接显示设备已设置的源Source元件、音频播放设备、以及显示器;
所述Source元件,用于获取待播放的流媒体数据的文件描述信息并发送至所述MpuInject元件;所述文件描述信息用于指示由所述MpuInject元件对所述流媒体数据进行播放控制;
所述MpuInject元件,用于接收所述文件描述信息,按照指定交替方式从所述文件描述信息对应的所述流媒体数据中获取N个音频MPU、N个图像MPU,所述指定交替方式包括:音频MPU-图像MPU或者图像MPU-音频MPU中的其中一种方式;N为大于等于1的正整数;
所述MpuInject元件,还用于将N个音频MPU输出至所述音频播放设备播放,以及将N个图像MPU输出至所述显示器显示。
第二方面,本申请提供一种流媒体数据播放方法,包括:
Source元件获取待播放的流媒体数据的文件描述信息并发送至MpuInject元件;所述文件描述信息用于指示由所述MpuInject元件对所述流媒体数据进行播放控制;
所述MpuInject元件接收所述文件描述信息,按照指定交替方式从所述文件描述信息对应的所述流媒体数据中获取N个音频MPU、N个图像MPU,所述指定交替方式包括:音频MPU-图像MPU或者图像MPU-音频MPU中的其中一种方式;N为大于等于1的正整数;
所述MpuInject元件将N个音频MPU输出至所述音频播放设备播放,以及将N个图像MPU输出至所述显示器显示。
由以上技术方案可以看出,本申请中,在播放由音频MPU和图像MPU构成的流媒体数据时,利用MpuInject元件通过指定交替方式从该流媒体数据中获取N个音频MPU和N个图像MPU,并按照获取顺序将N个音频MPU输出至音频播放设备播放、N个图像MPU输出至显示器显示,进而实现音频MPU和图像MPU的近似同步播放,一定程度上解决了目前音频MPU与视频MPU无法同步播放的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请施例,并与说明书一起用于解释本申请的原理。
图1中示例性示出了根据一些实施例的显示设备与控制装置之间操作场景的示意图;
图2中示例性示出了根据一些实施例的显示设备200的硬件配置框图;
图3中示例性示出了根据一些实施例的控制设备100的硬件配置框图;
图4中示例性示出了根据一些实施例的显示设备200中软件配置示意图;
图5中示例性示出了根据一些实施例的显示设备200中应用程序的图标控件界面显示示意图;
图6中示例性示出了根据一些实施例的流媒体数据播放方法的流程图;
图7中示例性示出了根据一些实施例的步骤102的实现流程图;
图8中示例性示出了根据一些实施例的步骤102的实现流程图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(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(Random Access Memory,RAM)、只读存储器252(Read-Only Memory,ROM)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(Graphics Processing Unit,GPU)、中央处理器254(CentralProcessing Unit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,RAM 251用于存储操作系统或其他正在运行中的程序的临时数据
在一些实施例中,ROM 252用于存储各种系统启动的指令。
在一些实施例中,ROM 252用于存储一个基本输入输出系统,称为基本输入输出系统(Basic Input Output System,BIOS)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时,显示设备200电源开始启动,CPU运行ROM252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至RAM 251中,以便于启动或运行操作系统。当操作系统启动完成后,CPU再将存储器中各种应用程序的临时数据拷贝至RAM 251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,CPU处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如GPU+FRC(Frame Rate Conversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,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和RAM 113和ROM 114、通信接口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)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、K歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。
框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到系统桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。
在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
在一些实施例中,以魔镜应用(拍照应用)为例,当遥控接收装置接收到遥控器输入操作,相应的硬件中断被发给内核层。内核层将输入操作加工成原始输入事件(包括输入操作的值,输入操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,根据焦点当前的位置识别该输入事件所对应的控件以及以该输入操作是确认操作,该确认操作所对应的控件为魔镜应用图标的控件,魔镜应用调用应用框架层的接口,启动魔镜应用,进而通过调用内核层启动摄像头驱动,实现通过摄像头捕获静态图像或视频。
在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示屏上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示屏的不同显示区域显示与之对应的应用界面。
在一些实施例中,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。
在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
在一些实施例中,如上述的显示设备,在播放同时包含音频MPU和图像MPU的流媒体数据时,会出现音频MPU和图像MPU无法同步播放的问题。
作为一个实施例,可采用如下解决方式解决上述技术问题:在显示设备中的Getreamer(流媒体框架)中创建两路管道(每一路管道均由Appsrc(应用程序源)元件、Qtdemux(Qt解复用)元件、Essink(源数据输出)元件、Decooder(解码)元件以及Render(渲染)元件组成),其中一路管道仅用于播放音频MPU、其中另一路管道仅用于播放图像MPU。但是,由于上述两路管道之间是相互独立的,若希望控制两路管道能够同步播放,则需要在上述两路管道中的render元件处设置一个SyncDecoder(同步解码)元件,并由该SyncDecoder元件对两路管道中Render元件输出的音频MPU和图像MPU进行同步控制。但这不仅需要显示设备中的音视频播放芯片支持两路MPU数据的输出,还需要显示设备具备一定的处理性能以满足SyncDecoder元件的同步处理速度,导致上述解决方案的适用性较差。
为此,本实施例提供一种了另一种解决方式。如上,显示设备中包括:显示器;与该显示器耦合的控制器。在本实施例中,控制器至少包括:媒体处理单元注入MpuInject元件,MpuInject元件分别连接显示设备已设置的源Source元件、音频播放设备、以及显示器;Source元件,用于获取待播放的流媒体数据的文件描述信息并发送至MpuInject元件;文件描述信息用于指示由MpuInject元件对流媒体数据进行播放控制;MpuInject元件,用于接收文件描述信息,按照指定交替方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU,指定交替方式包括:音频MPU-图像MPU或者图像MPU-音频MPU中的其中一种方式;N为大于等于1的正整数;MpuInject元件,还用于将N个音频MPU输出至音频播放设备播放,以及将N个图像MPU输出至显示器显示。
对应地,本实施例也提供了一种实现上述控制器对应操作的方法。请参见图6,为本申请实施例提供的一种流媒体数据播放方法的流程示意图。
如图6所示,该流程可包括以下步骤:
步骤101,Source元件获取待播放的流媒体数据的文件描述信息并发送至MpuInject元件;文件描述信息用于指示由MpuInject元件对流媒体数据进行播放控制。
在一个例子中,上述的流媒体数据可以由通过MMT协议传输的MPU构成,其中,所传输的MPU中可以包括:携带有音频内容的MPU(记为音频MPU)、以及携带有图像内容的MPU(记为图像MPU)。
在本步骤101中,本显示设备在播放流媒体数据时,并不会直接的获取该待播放的流媒体数据,而是会先获取到该流媒体数据的文件描述信息。
可选的,本显示设备可以通过Gstreamer(流媒体数据播放框架)播放上述的流媒体数据。当本显示设备通过Gstreamer播放上述的流媒体数据时,可以通过该Gstreamer中的Source(源)元件来获取该流媒体数据的文件描述信息并输出至MpuInject(媒体处理单元注入)元件,下文会对MpuInject元件做详细介绍,这里暂不赘述。
在一个例子中,上述的Source元件可以是cURLhttpSrc(命令行统一资源定位器超文本传输协议源)元件,该cURLhttpSrc元件可以通过向存储有上述文件描述信息的URL地址发送http请求,以请求上述的文件描述信息。例如,当文件描述信息的URL地址为:http://127.0.0.1/test.mpu时,前述的cURLhttpSrc元件则可以向该URL地址发送http请求,进而获得名称为“test.mpu”的文件描述信息。
作为一个示例,文件描述信息中可以包括多种信息。例如,可以包括用于标识流媒体数据的数据格式标识、用于标识流媒体数据中包含音频MPU的音频MPU标识、以及用于标识流媒体数据中包含图像MPU的图像MPU标识。当然,文件描述信息中还可根据实际需求,包含其它的各类信息,例如,流媒体数据中音频MPU的URL地址、流媒体数据中图像MPU的URL地址等等。
下面以文件描述信息为XML格式的文档为例,对文件描述信息的具体内容进行示例性说明:
<?xml version="1.0"encoding="UTF-8"?>
<MPU>
<AdaptationSet
mimeType="video/mp4"
media="http://127.0.0.1/video-$Number%01d$.mpu"
</AdaptationSet>
<AdaptationSet
mimeType="audio/mp4"
media="http://127.0.0.1/audio-$Number%01d$.mpu"
</AdaptationSet>
</MPU>
上述的<?xml version="1.0"encoding="UTF-8"?>字段用于标识本文件是一个XML格式的文件,上述的<MPU>字段用于标识显示设备待播放的流媒体数据是一个由MPU构成的流媒体数据,上述的mimeType="video/mp4"字段用于标识该流媒体数据中包括音频MPU,而上述的mimeType="audio/mp4"字段则用于标识该流媒体数据中包括图像MPU。
除上述文件描述信息中所必须包含的内容之外,上述的文件描述信息中还包括流媒体数据中首个音频MPU的URL地址http://127.0.0.1/video-$Number%01d$.mpu,以及流媒体数据中首个图像MPU的URL地址http://127.0.0.1/audio-$Number%01d$.mpu。至于如何利用文件描述信息中对应于音频MPU的URL地址获取音频MPU,以及如何利用对应于图像MPU的URL地址获取图像MPU,下文会详细描述,这里暂不赘述。
在一个例子中,当本显示设备通过Gstreamer播放上述的流媒体数据时,若上述的Source元件已完成对该流媒体数据的文件描述信息的下载,则需要建立用于控制该流媒体数据中音频MPU和图像MPU近似同步播放的MpuInject元件与该Source元件之间的连接,以使Source元件将该文件描述信息传输至MpuInject元件。
作为一种实现MpuInject元件与前述Source元件相连接的方式,当Source元件完成对该流媒体数据的文件描述信息的下载时,可以将该文件描述信息发送至TypeFind元件,以由TypeFind元件依据该文件描述信息实现MpuInject元件与前述Source元件之间的连接。
可选的,当TypeFind元件接收到该文件描述信息时,可以依据该文件描述信息确定上述的流媒体数据是否是由MPU所构成的数据。在确定出流媒体数据是由MPU所构成的数据时,则进一步依据该文件描述信息确定上述的流媒体数据中是否同时包含音频MPU和图像MPU。若是,则触发MpuInject元件与Source元件建立连接。
作为一个示例,可以预先配置由MPU所构成的流媒体数据的文件描述信息的文件后缀名是“MPU”,例如前述的“test.MPU”。基于此,上述TypeFind元件则可以在确定出该文件描述信息的文件后缀名包含MPU时,确定出上述的流媒体数据是由MPU所构成的数据。当然,基于前述的文件描述信息中可以包括有<MPU>字段的描述,也可以在确定出文件描述信息中包括<MPU>字段时,确定出上述的流媒体数据是由MPU所构成的数据。
作为一个示例,如前述的,由于文件描述信息中包括用于标识该流媒体数据中包括音频MPU的字段(记为第一字段)、以及用于标识该流媒体数据中包括图像MPU的字段(记为第二字段)。因此,上述TypeFind元件可以在确定出文件描述信息中同时包括上述的第一字段和第二字段时,确定上述的流媒体数据中同时包含音频MPU和图像MPU。
当MpuInject元件被触发与Source元件建立连接时,MpuInject元件会创建用于连接前述Source元件的Sinkpad(接收垫),并通过调用Chain(连接)函数使该Sinkpad与前述Source元件的Srcpad(来源垫)相连接,进而完成MpuInject元件与前述Source元件之间的连接。在具体应用中,可以通过mpu_inject_type_find()来触发MpuInject元件的上述操作。
步骤102,MpuInject元件接收文件描述信息,按照指定交替方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU,指定交替方式包括:音频MPU-图像MPU或者图像MPU-音频MPU中的其中一种方式;N为大于等于1的正整数。
在本步骤102中,MpuInject元件接收Source元件发送的文件描述信息有多种实现方式。
作为其中一种实现方式,当MpuInject元件与Source元件建立连接后,MpuInject元件会注册Sink Event(输入事件)函数,该Sink Event函数用以接收Source元件发送的EOS Event,该EOS Event用于指示文件描述信息已被下载完毕,该EOS event中包括有该文件描述信息所在Buffer的存储地址。基于此,当MpuInject元件接收到Source元件发送的EOS event后,该MpuInject元件可通过该EOS event中的存储地址获取到该文件描述信息。
作为一个示例,MpuInject元件可以按照指定交替方式获取流媒体数据中的N个音频MPU、N个图像MPU。至于MpuInject元件如何按照指定交替方式获取流媒体数据中N个音频MPU、N个图像MPU,下文会详细描述,这里暂不赘述。
需要说明的是,上述的N可以是大于等于1的正整数,例如1、2或3等。这里,为了能够使音频MPU与图像MPU能够更加趋近于近似于同步播放,可以尽量的将N设置的较小,比如将N设置为1,以提高音频MPU与图像MPU在播放时的同步性。
步骤103,MpuInject元件将N个音频MPU输出至音频播放设备播放,以及将N个图像MPU输出至显示器显示。
在按照指定交替方式获取N个音频MPU、N个图像MPU的过程中,可以按照N个音频MPU、N个图像MPU的获取顺序,按顺序将N个音频MPU输出至音频播放设备播放、以及将N个图像MPU输出至显示器显示。举一个简单的例子,当按照音频MPU-图像MPU的交替方式获取N个音频MPU和N个图像MPU时,若获得了N个音频MPU则输出至音频播放设备播放,之后会再获得N个图像MPU则输出至显示器显示,以此类推。
可选的,在每次输出N个音频MPU时,可将该N个音频MPU输出至Qtdemux(解复用)元件(记为第一Qtdemux),并依次经由Inputselecter(输入选择)元件(记为第一Inputselecter元件)、videoessink(音频源数据输出)元件(记为第一videoessink元件)、以及videodecoder(音频编码)元件进行相应处理,并最终输出至音频播放设备进行播放。
可选的,在每次输出N个图像MPU时,可将该N个图像MPU输出至Qtdemux元件(记为第二Qtdemux),并依次经由Inputselecter元件(记为第二Inputselecter元件)、videoessink元件(记为第二videoessink元件)、以及audiodecoder(视频解码)元件进行相应处理,并最终输出至显示器进行显示。
至此,完成图6所示流程。
由以上技术方案可以看出,本申请中,在播放由音频MPU和图像MPU构成的流媒体数据时,利用MpuInject元件通过指定交替方式从该流媒体数据中获取N个音频MPU和N个图像MPU,并按照获取顺序将N个音频MPU输出至音频播放设备播放、N个图像MPU输出至显示器显示,进而实现音频MPU和图像MPU的近似同步播放,一定程度上解决了目前音频MPU与视频MPU无法同步播放的问题。
下面对上述步骤102中如何按照音频MPU-图像MPU交替的方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU进行描述。
参见图7,图7中示例性示出了根据一些实施例的步骤102的实现流程图,该流程可以包括:
步骤201,依据文件描述信息创建音频下载任务(DownloadStack)并启动,音频下载任务用于获取当前次待获取的N个音频MPU。
作为一个示例,当流媒体数据中包含音频MPU时,文件描述信息中可以记录有该流媒体数据中至少一个音频MPU的获取地址。
可选的,上述的获取地址可以是该流媒体数据中首个音频MPU对应的URL地址。比如,该URL地址可以是http://127.0.0.1/video-$Number%01d$.mpu。在该URL地址中,video-$Number%01d$.mpu便是该首个音频MPU的文件名称,该文件名称中的$Number%用于标识音频MPU在流媒体数据中的编号项,01则是该编号项所对应的编号,用于标识该音频MPU在流媒体数据中的位置。例如,01则可标识该音频MPU是流媒体数据中的首个音频MPU。基于此,若某一音频MPU的文件名称中携带有$Number%02d$.mpu,则表示该音频MPU为流媒体数据中的第二个音频MPU。
在文件描述信息中记录有流媒体数据中首个音频MPU的URL地址的情况下,MpuInject元件会依据该首个音频MPU的URL地址创建上述的音频下载任务。
在一个例子中,当N为1的情况下,则可直接的依据文件描述信息中所记录的首个音频MPU的URL地址来创建音频下载任务。即,该音频下载任务用于从该URL地址获取当前次的1个音频MPU。
在另一个例子中,当N不为1的情况下,则可在文件描述信息中所记录的首个音频MPU的URL地址基础上进行拷贝和调整,以得到对应于N个音频MPU中每一音频MPU的URL地址,并依据得到的N个URL地址创建音频下载任务。即,该音频下载任务用于从该N个URL地址获取当前次待获取的N个音频MPU。
可选的,在对拷贝后的URL地址进行调整时,可以在该URL地址中的编号上加1,以得到对应于第二个音频MPU的URL地址,并以此类推,进而得到对应于N个音频MPU中每一音频MPU的URL地址。比如,在对URL地址http://127.0.0.1/video-$Number%01d$.mpu进行调整时,可以在其中的01基础上加1使其改变为02,进而得到对应于第二个音频MPU的URL地址http://127.0.0.1/video-$Number%02d$.mpu。进一步的,在对对应于第二个音频MPU的URL地址http://127.0.0.1/video-$Number%02d$.mpu进行调整时,可以在其中的02基础上加1使其改变为03,进而得到对应于第三个音频MPU的URL地址http://127.0.0.1/video-$Number%03d$.mpu,以此类推。
在一个例子中,当完成上述音频下载任务的创建时,由于文件描述信息中所记录的对应于音频MPU的URL地址是该音频下载任务在当前次待获取的音频MPU的URL地址。因此,为了后续不再重复的获取该音频MPU,则可对该URL地址进行更新。
可选的,在对文件描述信息中对应于音频MPU的URL地址进行更新时,可以在该URL地址中的编号上增加N,进而得到更新后的URL地址。例如,若假设当前的文件描述信息中对应于音频MPU的URL地址为http://127.0.0.1/video-$Number%01d$.mpu、且N为1,则更新后得到的对应于音频MPU的URL地址为http://127.0.0.1/video-$Number%02d$.mpu。
需要说明的是,在每一次获取N个音频MPU时所创建的音频下载任务,均可按照上述所描述的方式创建,后续不再赘述。
步骤202,当依据音频下载任务获取到N个音频MPU并输出时,启动已创建的图像下载任务,并返回依据文件描述信息创建音频下载任务;图像下载任务用于获取当前次待获取的N个图像MPU,图像下载任务在音频下载任务创建后创建。
在前述步骤201中,对音频下载任务如何创建进行了说明,而在每一音频下载任务被创建之后,均会相应的创建用于获取当前次待获取的N个图像MPU的图像下载任务。该图像下载任务并不像前述步骤201中的音频下载任务一样可以直接的被启动,而是需要等待前一次被创建的音频下载任务获取到N个音频MPU并输出之后,才会触发该图像下载任务启动。
作为一个示例,为了控制上述图像下载任务的启动时机,需要为该图像下载任务设置等待锁,只有接收到用于解除该等待锁的解锁指令时,才可以清除该等待锁,以启动图像下载任务。
可选的,音频下载任务获取到的N个音频MPU可以通过get_pad_push函数将其由MpuInject元件输出至下游元件,以实现N个音频MPU的输出。基于此,可在检测到上述的get_pad_push函数返回用于指示调用成功的返回值时,构造用于解除该等待锁的解锁指令,并利用该解锁指令解除该等待锁,以触发该图像下载任务启动。
在步骤201中创建的音频下载任务获取到N个音频MPU时,则表示该音频下载任务已被执行完毕,则返回创建新的音频下载任务。这里值得说明的是,在任意一个音频下载任务被执行完毕时,均会返回创建音频下载任务。
本步骤202在创建音频下载任务之后所执行的步骤、以及后续循环创建音频下载任务之后所执行的步骤与前述步骤201中创建音频下载任务之后所执行的步骤不同的,其不同在于:步骤201在创建音频下载任务之后会直接的启动该音频下载任务,而本步骤202在创建音频下载任务、以及后续在循环创建音频下载任务之后,则不会直接的启动该音频下载任务,而是在检测到N个图像MPU被输出时才会启动该音频下载任务。
之所以会出现上述情况,其原因在于:步骤201中所创建的音频下载任务为首个音频下载任务,即在播放上述流媒体数据过程中首个被创建的首个音频下载任务,由于此时还未获取到任何一个MPU(音频MPU和图像MPU),因此不能通过检测N个图像MPU被输出的方式来启动该音频下载任务。基于此,可预先配置首个音频下载任务被创建后可以直接启动,而无需对获取到的N个图像MPU是否被输出进行检测。而当音频下载任务不为首个音频下载任务(例如本步骤202中创建的音频下载任务、以及后续循环创建的音频下载任务)时,由于音频MPU与图像MPU是按照音频MPU-图像MPU交替方式交替获取,那么在该音频下载任务被创建之前一定会获取到至少一次的N个图像MPU。基于此,则可以对上一次获取到的N个图像MPU是否被输出进行检测,并在检测出上一次获取到的N个图像MPU被输出时,触发该音频下载任务启动。
作为一个示例,为了控制本步骤202中创建的音频下载任务、以及后续循环创建的音频下载任务的启动时机,需要为该音频下载任务设置等待锁,只有接收到用于解除该等待锁的解锁指令时,才可以清除该等待锁,以启动该音频下载任务。
可选的,图像下载任务获取到的N个图像MPU可以通过get_pad_push函数将其由MpuInject元件输出至下游元件,以实现N个图像MPU的输出。基于此,可在检测到上述的get_pad_push函数返回用于指示调用成功的返回值时,构造用于解除该等待锁的解锁指令,并利用该解锁指令解除该等待锁,以启动该音频下载任务。
步骤203,当图像下载任务获取到N个图像MPU并输出时,启动已创建的该音频下载任务,直至接收到外部输入的停止播放指令,则停止获取N个音频MPU、N个图像MPU。
如前述的,步骤202中所创建的音频下载任务在被创建后,不会直接的被启动,而是在检测到图像下载任务获取到的N个图像MPU被输出时才会被启动。因此,当上述步骤202中创建的图像下载任务获取到N个图像MPU并输出时,则可以启动该步骤202中创建的音频下载任务。
由于在每一个音频下载任务被创建之后,均会创建图像下载任务,且每一音频下载任务被执行完毕后均会返回创建音频下载任务,进而可实现音频下载任务-图像下载任务交替被创建、交替启动的效果,并基于此实现按照音频MPU-图像MPU交替的方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU的效果。
在按照音频MPU-图像MPU交替的方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU的过程中,若接收到外部输入的停止播放指令,则可以停止获取N个图像MPU、N个音频MPU。
以上对上述步骤102中如何按照音频MPU-图像MPU交替的方式从文件描述信息对应的流媒体数据中获取N个音频MPU、N个图像MPU进行了描述。
下面对上述步骤102中如何按照图像MPU-音频MPU交替的方式从文件描述信息对应的流媒体数据中获取N个图像MPU、N个音频MPU进行描述:
参见图8,图8示例性示出了根据一些实施例的步骤102的实现流程图,该流程可以包括:
步骤301,依据文件描述信息创建图像下载任务并启动,图像下载任务用于获取当前次待获取的N个图像MPU。
步骤302,当依据图像下载任务获取到N个图像MPU并输出时,启动已创建的音频下载任务,并返回依据文件描述信息创建图像下载任务;音频下载任务用于获取当前次待获取的N个音频MPU,音频下载任务在图像下载任务创建后创建。
步骤303,当音频下载任务获取到N个音频MPU并输出时,启动已创建的该图像下载任务,直至接收到外部输入的停止播放指令,则停止获取N个图像MPU、N个音频MPU。
步骤301至步骤303的实现过程与前述步骤201至步骤203相类似,具体可参照前述步骤201至步骤203的相关描述,在此不再赘述。
以上对上述步骤102中如何按照图像MPU-音频MPU交替的方式从文件描述信息对应的流媒体数据中获取N个图像MPU、N个音频MPU进行了描述。
下面对如何输出音频下载任务获得的N个音频MPU进行详细说明:
当通过音频下载任务获得N个音频MPU时,将N个音频MPU添加至对应于音频下载任务的Stream中,并经由用于将该Stream中音频MPU向外输出的SrcPad进行输出;Stream与SrcPad在创建该音频下载任务时被创建,在该N个音频MPU输出时被删除。
作为一个示例,在创建每个音频下载任务时,可以先创建上述的Stream和SrcPad,并在此基础上基于已创建的Stream来创建该音频下载任务。这样,可以在第一Stream与音频下载任务之间建立绑定关系,以使每个音频下载任务在获得N个音频MPU时,可以将该N个音频MPU对应的添加至绑定于该音频下载任务的Stream中,以通过该Stream和该Stream对应的SrcPad将获取到的N个音频MPU向音频播放设备输出。
在一个例子中,上述的SrcPad可以与上述的第一Qtdemux元件相连,而第一Qtdemux则依次与第一Inputselecter元件、第一videoessink元件和videodecoder元件、以及音频播放设备相连。
由于音频下载任务是基于Stream创建的,因此,当音频下载任务获取到N个音频MPU时,会将该N个音频MPU对应的添加至绑定于该DownloadStac的Stream中。
之后,则可以将已添加至Stream中的N个音频MPU经由Srcpad输出。
可选的,可以利用gst_pad_push函数将Stream中存储的N个音频MPU,按各音频MPU在流媒体数据中的编号从小到大的顺序依次的经由Srcpad输出。
当Stream中的N个音频MPU经由Srcpad输出之后,则可以删除该Stream和Srcpad。
以上对如何输出音频下载任务获得的N个音频MPU进行了详细说明。
下面对如何输出图像下载任务获得的N个图像MPU进行详细说明:
当通过图像下载任务获得N个图像MPU时,将N个图像MPU添加至对应于图像下载任务的Stream中,并经由用于将该Stream中图像MPU向外输出的SrcPad进行输出;Stream与SrcPad在创建该图像下载任务时被创建,在该N个图像MPU输出时被删除。
作为一个示例,在创建每个图像下载任务时,可以先创建上述的Stream和SrcPad,并在此基础上基于已创建的Stream来创建该图像下载任务。这样,可以在第二Stream与图像下载任务之间建立绑定关系,以使每个图像下载任务在获得N个图像MPU时,可以将该N个图像MPU对应的添加至绑定于该图像下载任务的Stream中,以通过该Stream和该Stream对应的SrcPad将获取到的N个图像MPU向图像播放设备输出。
在一个例子中,上述的SrcPad可以与上述的第二Qtdemux元件相连,而第二Qtdemux则依次与第二Inputselecter元件、第二videoessink元件和videodecoder元件、以及图像播放设备相连。
由于图像下载任务是基于Stream创建的,因此,当图像下载任务获取到N个图像MPU时,会将该N个图像MPU对应的添加至绑定于该DownloadStac的Stream中。
之后,则可以将已添加至Stream中的N个图像MPU经由Srcpad输出。
可选的,可以利用gst_pad_push函数将Stream中存储的N个图像MPU,按各图像MPU在流媒体数据中的编号从小到大的顺序依次的经由Srcpad输出。
当Stream中的N个图像MPU经由Srcpad输出之后,则可以删除该Stream和Srcpad。
以上对如何输出图像下载任务获得的N个图像MPU进行了详细说明。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器;
与所述显示器耦合的控制器,所述控制器至少包括:媒体处理单元注入MpuInject元件,MpuInject元件分别连接显示设备已设置的源Source元件、音频播放设备、以及显示器;
所述Source元件,用于获取待播放的流媒体数据的文件描述信息并发送至所述MpuInject元件;所述文件描述信息用于指示由所述MpuInject元件对所述流媒体数据进行播放控制;
所述MpuInject元件,用于接收所述文件描述信息,按照指定交替方式从所述文件描述信息对应的所述流媒体数据中获取N个音频MPU、N个图像MPU,所述指定交替方式包括:音频MPU-图像MPU或者图像MPU-音频MPU中的其中一种方式;N为大于等于1的正整数;
所述MpuInject元件,还用于将N个音频MPU输出至所述音频播放设备播放,以及将N个图像MPU输出至所述显示器显示。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器还包括:TypeFind元件;
所述TypeFind元件,用于从所述Source元件中获取所述文件描述信息,以及在依据所述文件描述信息确定出所述流媒体数据包括音频MPU和图像MPU时,触发所述MpuInject元件与所述Source元件建立连接,以使所述Source元件将所述文件描述信息发送至所述MpuInject元件。
3.根据权利要求1所述的显示设备,其特征在于,所述MpuInject元件按照音频MPU-图像MPU交替的方式从所述文件描述信息对应的所述流媒体数据中获取N个音频MPU、N个图像MPU包括:
依据所述文件描述信息创建音频下载任务并启动,所述音频下载任务用于获取当前次待获取的N个音频MPU;
当依据所述音频下载任务获取到所述N个音频MPU并输出时,启动已创建的图像下载任务,并返回依据所述文件描述信息创建音频下载任务;所述图像下载任务用于获取当前次待获取的N个图像MPU,所述图像下载任务在所述音频下载任务创建后创建;
当依据所述图像下载任务获取到所述N个图像MPU并输出时,启动已创建的该音频下载任务,直至接收到外部输入的停止播放指令,则停止获取N个音频MPU、N个图像MPU。
4.根据权利要求1所述的显示设备,其特征在于,所述MpuInject元件按照图像MPU-音频MPU交替的方式从所述文件描述信息对应的所述流媒体数据中获取N个图像MPU、N个音频MPU包括:
依据所述文件描述信息创建图像下载任务并启动,所述图像下载任务用于获取当前次待获取的N个图像MPU;
当依据所述图像下载任务获取到所述N个图像MPU并输出时,启动已创建的音频下载任务,并返回依据所述文件描述信息创建图像下载任务;所述音频下载任务用于获取当前次待获取的N个音频MPU,所述音频下载任务在所述图像下载任务创建后创建;
当依据所述音频下载任务获取到所述N个音频MPU并输出时,启动已创建的该图像下载任务,直至接收到外部输入的停止播放指令,则停止获取N个图像MPU、N个音频MPU。
5.根据权利要求3或4所述的显示设备,其特征在于,所述MpuInject元件,具体用于:
当通过所述音频下载任务获得N个音频MPU时,将所述N个音频MPU添加至对应于所述音频下载任务的Stream中,并经由用于将该Stream中音频MPU向外输出的SrcPad进行输出;所述Stream与所述SrcPad在创建该音频下载任务时被创建,在该N个音频MPU输出时被删除。
6.一种流媒体数据播放方法,其特征在于,包括:
Source元件获取待播放的流媒体数据的文件描述信息并发送至MpuInject元件;所述文件描述信息用于指示由所述MpuInject元件对所述流媒体数据进行播放控制;
所述MpuInject元件接收所述文件描述信息,按照指定交替方式从所述文件描述信息对应的所述流媒体数据中获取N个音频MPU、N个图像MPU,所述指定交替方式包括:音频MPU-图像MPU或者图像MPU-音频MPU中的其中一种方式;N为大于等于1的正整数;
将N个音频MPU输出至所述音频播放设备播放,以及将N个图像MPU输出至所述显示器显示。
7.根据权利要求6所述的方法,其特征在于,该方法还包括:
TypeFind元件从所述Source元件中获取所述文件描述信息,并在依据所述文件描述信息确定出所述流媒体数据包括音频MPU和图像MPU时,触发所述MpuInject元件与所述Source元件建立连接,以使所述Source元件将所述文件描述信息发送至所述MpuInject元件。
8.根据权利要求6所述的方法,其特征在于,所述按照音频MPU-图像MPU交替的方式从所述文件描述信息对应的所述流媒体数据中获取N个音频MPU、N个图像MPU包括:
依据所述文件描述信息创建音频下载任务并启动,所述音频下载任务用于获取当前次待获取的N个音频MPU;
当依据所述音频下载任务获取到所述N个音频MPU并输出时,启动已创建的图像下载任务,并返回依据所述文件描述信息创建音频下载任务;所述图像下载任务用于获取当前次待获取的N个图像MPU,所述图像下载任务在所述音频下载任务创建后创建;
当依据所述图像下载任务获取到所述N个图像MPU并输出时,启动已创建的该音频下载任务启动,直至接收到外部输入的停止播放指令,则停止获取N个音频MPU、N个图像MPU。
9.根据权利要求6所述的方法,其特征在于,所述按照图像MPU-音频MPU交替的方式从所述文件描述信息对应的所述流媒体数据中获取N个图像MPU、N个音频MPU包括:
依据所述文件描述信息创建图像下载任务并启动,所述图像下载任务用于获取当前次待获取的N个图像MPU;
当依据所述图像下载任务获取到所述N个图像MPU并输出时,启动已创建的音频下载任务,并返回依据所述文件描述信息创建图像下载任务;所述音频下载任务用于获取当前次待获取的N个音频MPU,所述音频下载任务在所述图像下载任务创建后创建;
当依据所述音频下载任务获取到所述N个音频MPU并输出时,启动已创建的该图像下载任务,直至接收到外部输入的停止播放指令,则停止获取N个图像MPU、N个音频MPU。
10.根据权利要求8或9所述的方法,其特征在于,所述音频下载任务获取到的所述N个音频MPU通过以下方式输出:
当通过所述音频下载任务获得N个音频MPU时,将所述N个音频MPU添加至对应于所述音频下载任务的Stream中,并经由用于将该Stream中音频MPU向外输出的SrcPad进行输出;所述Stream与所述SrcPad在创建该音频下载任务时被创建,在该N个音频MPU输出时被删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010905461.9A CN112153395A (zh) | 2020-09-01 | 2020-09-01 | 流媒体数据播放方法和显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010905461.9A CN112153395A (zh) | 2020-09-01 | 2020-09-01 | 流媒体数据播放方法和显示设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112153395A true CN112153395A (zh) | 2020-12-29 |
Family
ID=73890658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010905461.9A Pending CN112153395A (zh) | 2020-09-01 | 2020-09-01 | 流媒体数据播放方法和显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112153395A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1071294A2 (en) * | 1999-07-22 | 2001-01-24 | Nec Corporation | System, method and recording medium for audio-video synchronous playback |
EP1513154A1 (en) * | 2003-09-05 | 2005-03-09 | Kabushiki Kaisha Toshiba | Information storage medium, information reproduction device, information reproduction method |
EP2759142A1 (en) * | 2011-09-21 | 2014-07-30 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing media data of multimedia broadcast service |
US20160100211A1 (en) * | 2013-07-19 | 2016-04-07 | Panasonic Intellectual Property Corporation Of America | Transmitting method, receiving method, transmitting apparatus, and receiving apparatus |
KR20160149150A (ko) * | 2015-06-17 | 2016-12-27 | 한국전자통신연구원 | 스테레오스코픽 비디오 데이터를 처리하기 위한 mmt 장치 및 방법 |
-
2020
- 2020-09-01 CN CN202010905461.9A patent/CN112153395A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1071294A2 (en) * | 1999-07-22 | 2001-01-24 | Nec Corporation | System, method and recording medium for audio-video synchronous playback |
EP1513154A1 (en) * | 2003-09-05 | 2005-03-09 | Kabushiki Kaisha Toshiba | Information storage medium, information reproduction device, information reproduction method |
EP2759142A1 (en) * | 2011-09-21 | 2014-07-30 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing media data of multimedia broadcast service |
US20160100211A1 (en) * | 2013-07-19 | 2016-04-07 | Panasonic Intellectual Property Corporation Of America | Transmitting method, receiving method, transmitting apparatus, and receiving apparatus |
KR20160149150A (ko) * | 2015-06-17 | 2016-12-27 | 한국전자통신연구원 | 스테레오스코픽 비디오 데이터를 처리하기 위한 mmt 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112135180B (zh) | 一种内容显示方法和显示设备 | |
CN112367543A (zh) | 显示设备、移动终端、投屏方法及投屏系统 | |
CN111836115B (zh) | 一种屏保展示方法、屏保跳转方法及显示设备 | |
CN112188279A (zh) | 一种频道切换方法和显示设备 | |
US20230017791A1 (en) | Display method and display apparatus for operation prompt information of input control | |
CN112118400A (zh) | 显示设备上图像的显示方法及显示设备 | |
CN112199064A (zh) | 一种浏览器应用与系统平台的交互方法及显示设备 | |
CN111954059A (zh) | 屏保的展示方法及显示设备 | |
CN112243141A (zh) | 投屏功能的显示方法及显示设备 | |
CN112306604B (zh) | 一种传输文件的进度显示方法及显示设备 | |
CN112272331B (zh) | 一种节目频道列表快速展示的方法及显示设备 | |
CN112269668A (zh) | 一种应用资源共享及显示设备 | |
CN112040340A (zh) | 资源文件获取方法及显示设备 | |
CN112017415A (zh) | 虚拟遥控器的推荐方法、显示设备及移动终端 | |
CN111935510A (zh) | 一种双浏览器应用加载方法及显示设备 | |
CN112118476B (zh) | 一种快速显示节目预约图标的方法及显示设备 | |
CN114390190A (zh) | 显示设备及监测应用启动摄像头的方法 | |
CN112261463A (zh) | 显示设备及节目推荐方法 | |
CN112363683A (zh) | 一种网页应用支持多图层显示的方法及显示设备 | |
CN113971049A (zh) | 一种后台服务管理方法及显示设备 | |
CN113194355B (zh) | 一种视频播放方法及显示设备 | |
CN111970554B (zh) | 一种图片显示方法和显示设备 | |
CN111935519B (zh) | 通道切换方法和显示设备 | |
CN112291600B (zh) | 一种缓存方法及显示设备 | |
CN112087651B (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: 20221026 Address after: 83 Intekte Street, Devon, Netherlands Applicant after: VIDAA (Netherlands) International Holdings Ltd. Address before: 9 / F, Hisense south building, 1777 Chuangye Road, Yuehai street, Nanshan District, Shenzhen, Guangdong 518054 Applicant before: HISENSE ELECTRONIC TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |