首页 / 专利库 / 电脑零配件 / 接口 / 一种双路媒体流数据的播放方法及显示设备

一种双路媒体流数据的播放方法及显示设备

阅读:278发布:2020-05-08

专利汇可以提供一种双路媒体流数据的播放方法及显示设备专利检索,专利查询,专利分析的服务。并且本 发明 实施例 涉及显示技术领域,尤其涉及一种双路 媒体流 数据的播放方法及显示设备,用以在显示设备中实现双路媒体流数据播放。该方法包括:显示设备的浏览器功能模 块 从 服务器 获取两路媒体流数据,解复用模块将两路媒体流数据解复用为视频数据和音频数据;解码模块将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;播放模块将解码后的第一路媒体流数据中的第一路视频数据输出至显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出 接口 ;浏览器功能模块将解码后的第二路视频数据 渲染 为连续的 视频 帧 ,并按照一定帧率输出至显示器上的第二窗口。,下面是一种双路媒体流数据的播放方法及显示设备专利的具体信息内容。

1.一种显示设备,其特征在于,包括:
显示器;
音频输出接口
控制器,用于控制浏览器功能模、解复用模块、解码模块和播放模块;其中,所述浏览器功能模块用于获取两路媒体流数据;
解复用模块,用于将所述浏览器功能模块获取的两路媒体流数据分别解复用为视频数据和音频数据;
解码模块,用于将两路解复用后的媒体流数据分别进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;
播放模块,用于将解码后的第一路媒体流数据中的第一路视频数据输出至所述显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口;
浏览器功能模块,还用于将解码后的第二路媒体流数据中的第二路视频数据渲染为连续的视频,并按照一定帧率输出至所述显示器上的第二窗口。
2.如权利要求1所述的显示设备,其特征在于,所述浏览器功能模块,具体用于:
通过OPENGL对YUV格式的所述第二视频数据进行渲染得到连续的视频帧图像。
3.如权利要求2所述的显示设备,其特征在于,所述浏览器功能模块,具体用于:
针对每一帧YUV格式的第二视频数据,将第二视频数据封装成指定数据包;
获取在显示器的显示屏幕中所述第二窗口的位置坐标;
根据所述第二窗口的位置坐标确定第二视频数据中的每一个像素点的位置坐标;
将所述指定数据包中的数据基于像素点的位置坐标填充到所述第二窗口中,通过显示器在所述第二窗口中显示第二视频数据对应视频帧图像。
4.如权利要求1所述的显示设备,其特征在于,所述控制器,用于:
控制将RGB格式的第二视频数据压缩成YUV数据之后发送到所述浏览器功能模块。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器,还用于:
控制将所述RGB格式的第二视频数据转换成YUV数据后,再将YUV数据中的Y、U、V三组数据排序成预设格式的第三视频数据,将所述第三视频数据发送至所述浏览器功能模块。
6.根据权利要求5所述的显示设备,其特征在于,
所述预设格式为NV12格式或YV12格式。
7.根据权利要求4所述的显示设备,其特征在于,所述控制器,还用于:
控制将所述RGB格式的第二视频数据转换成YUV数据后,再将YUV数据中的Y、U、V三组数据分别封装得到虚拟YV12数据,将所述虚拟YV12数据发送至所述浏览器功能模块。
8.一种显示设备中双路媒体流数据的播放方法,其特征在于,该方法包括:
获取两路媒体流数据;
将获取的两路媒体流数据解复用为视频数据和音频数据;
将两路解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;
将解码后的第一路媒体流数据中的第一路视频数据输出至显示器上的第一窗口,以及将第一路音频数据输出至音频输出接口;
将解码后的第二路媒体流数据中的第二路视频数据渲染为连续的视频帧,并按照一定帧率输出至显示器上的第二窗口。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将RGB格式的第二视频数据压缩成YUV数据。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将所述RGB格式的第二视频数据转换成YUV数据后,再将YUV数据中的Y、U、V三组数据分别封装得到虚拟YV12数据。

说明书全文

一种双路媒体流数据的播放方法及显示设备

技术领域

[0001] 本发明涉及显示技术领域,尤其涉及一种双路视频播放方法及显示设备。

背景技术

[0002] 随着网络技术的普及,显示设备不仅可以用来播放TV信号,还可以用来播放网络信号。随着用户需求的增加,显示设备需要支持双路媒体流数据的播放,如何使之实现已成为一个函需解决的问题。

发明内容

[0003] 有鉴于此,本发明提供一种双路媒体流数据的播放方法及显示设备,用以实现双路媒体流数据的播放,提高用户提案。
[0004] 具体地,本发明是通过如下技术方案实现的:
[0005] 第一方面,本发明提供一种显示设备,包括:
[0006] 显示器;
[0007] 音频输出接口
[0008] 浏览器功能模,由控制器控制,用于获取两路媒体流数据;
[0009] 解复用模块,由所述控制器控制,用于将所述浏览器功能模块获取的媒体流数据解复用为视频数据和音频数据;
[0010] 解码模块,用于将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;
[0011] 播放模块,由所述控制器控制,用于将解码后的第一路媒体流数据中的第一路视频数据输出至所述显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口;
[0012] 浏览器功能模块,由所述控制器控制,还用于将解码后的第二路媒体流数据中的第二路视频数据渲染为连续的视频,并按照一定帧率输出至所述显示器上的第二窗口。
[0013] 第二方面,本发明还提供一种双路媒体流数据的播放方法,所述方法应用于显示设备,该方法包括:
[0014] 控制器控制浏览器功能模块获取两路媒体流数据;
[0015] 控制解复用模块将所述浏览器功能模块获取的两路媒体流数据解复用为视频数据和音频数据;
[0016] 由解码模块将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;
[0017] 控制器控制播放模块将解码后的第一路媒体流数据中的第一路视频数据输出至所述显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口;
[0018] 控制器控制浏览器功能模块将解码后的第二路媒体流数据中的第二路视频数据渲染为连续的视频帧,并按照一定帧率输出至所述显示器上的第二窗口。
[0019] 在上述实施例中,显示设备可以通过浏览器功能模块从服务器获取两路媒体流数据,解复用模块将两路媒体流数据解复用为视频数据和音频数据;解码模块将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;播放模块将解码后的第一路媒体流数据中的第一路视频数据输出至显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口;浏览器功能模块将解码后的第二路视频数据渲染为连续的视频帧,并按照一定帧率输出至显示器上的第二窗口。
[0020] 由于本发明可以基于浏览器自身的渲染功能,实现对视频帧的逐帧渲染,从而达到视频播放的效果,以此来实现显示设备上的双路视频播放的功能。进一步的,本发明可以控制将RGB格式的第二视频数据压缩成YUV数据之后发送到浏览器功能模块,从而可以提高数据传输以及数据处理的效率,从而使视频播放更加顺畅。附图说明
[0021] 图1A中示例性示出了显示设备与控制装置之间操作场景的示意图;
[0022] 图1B中示例性示出了图1A中控制装置100的配置框图
[0023] 图1C中示例性示出了图1A中显示设备200的配置框图;
[0024] 图1D中示例性示出了显示设备200存储器操作系统的架构配置框图;
[0025] 图1E中示例性示出了显示器中双路媒体流数据播放的示意图;
[0026] 图2-1、2-2中示例性示出了第二视频数据压缩的流程图
[0027] 图3中示例性示出了渲染的流程图;
[0028] 图4中示例性示出了双路视频播放方法的交互流程图;
[0029] 图5中示例性示出了双路视频播放方法的流程图。

具体实施方式

[0030] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0031] 在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0032] 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0033] 图1A中示例性示出了显示设备与控制装置之间操作场景的示意图。如图1A所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。
[0034] 其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
[0035] 控制装置100可以是遥控器100A,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
[0036] 控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(UI)为用户提供各种控制。
[0037] 示例性的,移动终端100B可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100B与显示设备200建立控制指令协议,通过操作移动终端100B上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100A布置的实体按键的功能。也可以将移动终端100B上显示的音视频内容传输到显示设备200上,实现同步显示功能。
[0038] 显示设备200可提供广播接收功能和计算机支持功能的网络电视功能。显示设备可以实施为,数字电视、网络电视、互联网协议电视(IPTV)等。
[0039] 显示设备200,可以是液晶显示器、有机发光显示器、投影设备。具体显示设备类型、尺寸大小和分辨率等不作限定。
[0040] 显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子节目指南(EPG)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
[0041] 图1B中示例性示出了控制装置100的配置框图。如图1B所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。
[0042] 控制器110包括随机存取存储器(RAM)111、只读存储器(ROM)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。
[0043] 示例性的,当检测到用户按压在遥控器100A上布置的按键的交互或触摸在遥控器100A上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。
[0044] 存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。
[0045] 通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
[0046] 用户输入接口140,可包括麦克141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。
[0047] 输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150可以包括LED接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。例如,遥控器100A可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。
[0048] 供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电支持。形式可以为电池及相关控制电路
[0049] 图1C中示例性示出了显示设备200的硬件配置框图。如图1C所示,显示设备200中可以包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输出接口285、供电电源290。
[0050] 调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG数据)。
[0051] 调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。
[0052] 调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。
[0053] 在其他一些示例性实施例中,调谐解调器210也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240输入至显示设备200中。
[0054] 通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括WIFI模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为WIFI信号、蓝牙信号、射频信号等。
[0055] 检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括声音采集器231,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200可以自适应环境噪声。
[0056] 在其他一些示例性实施例中,检测器230,还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。
[0057] 在其他一些示例性实施例中,检测器230,还可以包括光接收器,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。
[0058] 在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。
[0059] 外部装置接口240,是提供控制器250控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG)等数据。
[0060] 其中,外部装置接口240可以包括:高清多媒体接口(HDMI)端子241、复合视频消隐同步(CVBS)端子242、模拟或数字分量端子243、通用串行总线(USB)端子244、组件(Component)端子(图中未示出)、红绿蓝(RGB)端子(图中未示出)等任一个或多个。
[0061] 控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作系统和各种应用程序),来控制显示设备200的工作和响应用户的操作。
[0062] 如图1C所示,控制器250包括随机存取存储器(RAM)251、只读存储器(ROM)252、图形处理器253、CPU处理器254、通信接口255、以及通信总线256。其中,RAM251、ROM252以及图形处理器253、CPU处理器254通信接口255通过通信总线256相连接。
[0063] ROM252,用于存储各种系统启动指令。如在接收到开机信号时,显示设备200电源开始启动,CPU处理器254运行ROM252中的系统启动指令,将存储在存储器260的操作系统拷贝至RAM251中,以开始运行启动操作系统。当操作系统启动完成后,CPU处理器254再将存储器260中各种应用程序拷贝至RAM251中,然后,开始运行启动各种应用程序。
[0064] 图形处理器253,用于产生各种图形对象,如图标、操作菜单、以及用户输入指令显示图形等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。
[0065] CPU处理器254,用于执行存储在存储器260中的操作系统和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。
[0066] 在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。
[0067] 通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。
[0068] 控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的GUI对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。
[0069] 其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与对象相对应的程序的操作。该用于选择GUI对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
[0070] 存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的RAM251和ROM252、或显示设备200中的存储卡。
[0071] 在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种GUI、与GUI相关的各种对象及用于选择GUI对象的选择器的视觉效果图像等数据。
[0072] 在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280等的驱动程序和相关数据,例如从外部装置接口接收的外部数据(例如音视频数据)或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。
[0073] 在一些实施例中,存储器260具体存储用于表示操作系统(OS)的软件和/或程序,这些软件和/或程序可包括,例如:内核中间件、应用编程接口(API)和/或应用程序。示例性的,内核可控制或管理系统资源,以及其它程序所实施的功能(如所述中间件、API或应用程序);同时,内核可以提供接口,以允许中间件、API或应用程序访问控制器,以实现控制或管理系统资源。
[0074] 图1D中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、中间件层和内核层。
[0075] 应用层,系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互。应用层可包括多个应用程序,如设置应用程序、电子帖应用程序、媒体中心应用程序等。这些应用程序可被实现为Web应用,其基于WebKit引擎来执行,具体可基于HTML5、层叠样式表(CSS)和JavaScript来开发并执行,通常为显示设备中的浏览器功能模块来控制操作或执行。
[0076] 这里,HTML,全称为超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,HTML标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取HTML文档,解释文档内标签的内容,并以网页的形式显示出来。
[0077] CSS,全称为层叠样式表(Cascading Style Sheets),是一种用来表现HTML文件样式的计算机语言,可以用来定义样式结构,如字体、颜色位置等的语言。CSS样式可以直接存储与HTML网页或者单独的样式文件中,实现对网页中样式的控制。
[0078] JavaScript,是一种应用于Web网页编程的语言,可以插入HTML页面并由浏览器解释执行。其中Web应用的交互逻辑都是通过JavaScript实现。JavaScript可以通过浏览器,封装JavaScript扩展接口,实现与内核层的通信,
[0079] 中间件层,可以提供一些标准化的接口,以支持各种环境和系统的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(MHEG),还可以实现为与外部设备通信相关的中间件的DLNA中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。
[0080] 内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于Linux操作系统的内核。
[0081] 内核层也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为WIFI模块提供WiFi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(PM)模块提供电源管理驱动等。
[0082] 用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100A可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100A可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
[0083] 在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户接口265通过GUI接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在GUI中的位置以选择不同的对象或项目的用户输入命令。
[0084] 或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口265通过传感器识别出声音或手势,来接收用户输入命令。视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。
[0085] 示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
[0086] 其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。
[0087] 视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
[0088] 图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
[0089] 帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60Hz视频的帧率转换为120Hz或240Hz的帧率,通常的格式采用如插帧方式实现。
[0090] 显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB数据信号。
[0091] 显示器275,用于接收源自视频处理器270输入的图像信号,进行显示视频内容、图像以及菜单操控界面。显示视频内容,可以来自调谐解调器210接收的广播信号中的视频内容,也可以来自通信器220或外部装置接口240输入的视频内容。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面UI。
[0092] 以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
[0093] 音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。
[0094] 示例性的,音频处理器280可以支持各种音频格式。例如MPEG-2、MPEG-4、高级音频编码(AAC)、高效AAC(HE-AAC)等格式。
[0095] 音频输出接口285,用于在控制器250的控制下接收音频处理器280输出的音频信号,音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如机输出端子。
[0096] 在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。
[0097] 以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。
[0098] 供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。
[0099] 结合图1B中的显示设备来说,本发明的显示设备在实现双路视频播放时,该显示设备中的部分组件具体执行如下操作:
[0100] 显示器,用于显示播放画面。
[0101] 音频输出接口,用于输出音频数据;
[0102] 浏览器功能模块,由控制器控制,用于从服务器获取两路媒体流数据;
[0103] 解复用模块,由所述控制器控制,用于将所述浏览器功能模块获取的媒体流数据解复用为视频数据和音频数据;
[0104] 解码模块,用于将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;
[0105] 播放模块,由所述控制器控制,用于将解码后的第一路媒体流数据中的第一路视频数据输出至所述显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口;
[0106] 浏览器功能模块,由所述控制器控制,还用于将解码后的第二路媒体流数据中的第二路视频数据渲染为连续的视频帧,并按照一定帧率输出至所述显示器上的第二窗口。
[0107] 示例性的,如图1E所示,显示器中全屏播放一路媒体流数据,例如一综艺节目;在显示器左上的窗口内播放另一路媒体流数据,例如广告视频。这样在不影响用户观看综艺节目的同时,还能向用户提供广告信息,以提高用户体验。
[0108] 在一个实施例中,所述控制器,具体可以用于控制解码模块将RGB格式的第二视频数据压缩成YUV数据之后发送到所述浏览器功能模块。具体来讲,媒体流数据经过解码模块处理得到的第二视频数据,该第二视频数据是RGB数据,一般来说视频图像采用的都是RGB模式,RGB实际上就是红绿蓝三原色的组合。通常情况下,每个像素点可由3bit的RGB数据集构成。比如,对于4×2图片来说,RGB数据存储方式如下:
[0109] R1R2R3R4R5R6R7R8G1G2G3G4G5G6G7G8B1B2B3B4B5B6B7B8;
[0110] 为了提升处理性能,进一步对数据存储空间的压缩,可以将RGB数据格式转换成YUV数据格式,其中Y用于表示亮度,也就是灰度值,而U和V表示的是色度,作用是描述影像的色彩及饱和度,用于指定像素的颜色。以YUV420的数据格式为例,其中4个Y共用一组UV分量。对于4×2的图片来说,YUV420的数据格式的存储方式包括如下两种形式:
[0111] NV12数据格式:
[0112] Y1Y2Y3Y4Y5Y6Y7Y8U1V1U2V2;
[0113] YV12数据格式:
[0114] Y1Y2Y3Y4Y5Y6Y7Y8U1U2V1V2;
[0115] 通过上述RGB数据格式和YUV数据格式对比发现,由于YUV数据通过共用UV的方式可以节省一半的内存存储空间,因此在本实施例中可以通过将RGB数据转换成YUV数据进而实现数据压缩的目的。
[0116] 其中,将RGB数据压缩成YUV数据的方法有两种:
[0117] 第一种是,控制器可以控制解码模块将所述RGB格式的第二视频数据转换成YUV数据后,再将YUV数据中的Y、U、V三组数据排序成预设格式的第三视频数据,将所述第三视频数据发送至所述浏览器功能模块。所述预设格式为NV12格式或YV12格式。
[0118] 例如图2-1所示,解码模块可以将H264格式的媒体流数据通过硬件解码得到RGB数据,假设该RGB数据为4×2像素,则该RGB数据可以表示为:
[0119] R1R2R3R4R5R6R7R8G1G2G3G4G5G6G7G8B1B2B3B4B5B6B7B8;
[0120] 将该RGB数据经过转换算法转换成YUV数据,具体为:
[0121] Y:Y1Y2Y3Y4Y5Y6Y7Y8;
[0122] U:U1U2;
[0123] V:V1V2;
[0124] 经过编码(此处以NV12为例)后,得到NV12数据,即:
[0125] Y1Y2Y3Y4Y5Y6Y7Y8U1V1U2V2。
[0126] 该NV12数据为最终输入到浏览器功能模块的第二视频数据。
[0127] 第二种是,所述控制器还可以控制解码模块将所述RGB格式的第二视频数据转换成YUV数据后,再将YUV数据中的Y、U、V三组数据分别封装得到虚拟YV12数据,将所述虚拟YV12数据发送至所述浏览器功能模块。
[0128] 例如图2-2所示,解码模块可以将H264格式的媒体流数据通过硬件解码得到RGB数据,假设该RGB数据为4×2像素,则该RGB数据可以表示为:
[0129] R1R2R3R4R5R6R7R8G1G2G3G4G5G6G7G8B1B2B3B4B5B6B7B8;
[0130] 将该RGB数据经过转换算法转换成YUV数据,具体为:
[0131] Y:Y1Y2Y3Y4Y5Y6Y7Y8;
[0132] U:U1U2;
[0133] V:V1V2;
[0134] 将该YUV数据直接封装,得到虚拟YV12数据,即:
[0135] Y:Y1Y2Y3Y4Y5Y6Y7Y8;
[0136] U:U1U2;
[0137] V:V1V2。
[0138] 该虚拟YV12数据为最终输入到浏览器功能模块的第二视频数据。
[0139] 由于上述第一种方法中,需要将YUV数据中的Y、U、V三组数据排序成预设格式(如NV12)的视频数据;而上述第二种方法中,可以根据YV12数据中的U和V数据没有交叉排列的特点,直接对U、V数据进行单独存储,因此当RGB数据解码得到YUV数据之后,不用根据NV12或YV12的格式进行YUV排序处理,而是根据YUV数据中的Y、U、V三组数据分别封装得到虚拟YV12数据,从而将所述虚拟YV12数据发送至所述浏览器功能模块。因此第二种方法相比于第一种方法减少了数据排序的过程,进一步对此编解码过程进行了优化。
[0140] 在一个实施例中,所述浏览器功能模块,具体用于通过OPENGL对YUV格式的所述第二视频数据进行渲染得到连续的视频帧图像。所述浏览器功能模块,可以针对每一帧YUV格式的第二视频数据,将第二视频数据封装成指定数据包,获取在显示器的显示屏幕中所述第二窗口的位置坐标,根据所述第二窗口的位置坐标确定第二视频数据中的每一个像素点的位置坐标,将所述指定数据包中的数据基于像素点的位置坐标填充到所述第二窗口中,通过显示器在显示屏幕上的所述第二窗口中显示第二视频数据对应视频帧图像。
[0141] 具体实施方式可以如图3所示,首先在流程A阶段,浏览器功能模块会通过解析HTML和CSS构建一棵渲染树Render Tree,渲染树中的数据节点决定显示器中视频播放窗口(即第二窗口)的位置和大小,该位置和大小都通过坐标表示。然后在流程B阶段,浏览器功能模块可以将第二视频数据封装成指定数据包,例如DecodeTarget数据,通过打包Box和布局Layout确认每一个像素点的位置坐标,然后将DecodeTarget数据中的每个像素点根据其位置坐标填充到第二窗口所在的显示区域中,从而使第二窗口中显示视频帧图像。
[0142] 图4中示例性示出了双路视频播放方法的交互流程,其中,控制器可以控制浏览器功能模块从服务器获取两路媒体流数据,如图4中的步骤①所示,然后控制解复用模块将所述浏览器功能模块获取的两路媒体流数据解复用为视频数据和音频数据。在本实施例中,主要关注视频数据的处理过程,音频数据的处理过程可以参考相关技术的操作,例如将音频数据转发到音频输出接口进行音频播放。
[0143] 由解码模块将解复用后的媒体流数据进行解码,如图4中的步骤②所示,以得到第一路视频数据和第二路视频数据。控制器控制视频播放模块将解码后的第一路媒体流数据中的第一路视频数据输出至所述显示器上的第一窗口。
[0144] 控制器控制解码模块将RGB格式的第二视频数据压缩为YUV格式的第二视频数据,如图4中的步骤③所示。
[0145] 控制器控制浏览器功能模块针对每一帧YUV数据,先将YUV数据封装成指定数据包,如图4中箭头④所示,其中,该指定数据包可以为DecodeTarget数据包。
[0146] 然后浏览器功能模块可以获取所述第二窗口在显示屏幕中的位置坐标,根据所述第二窗口的位置坐标确定视频图像中每一个像素点的位置坐标,将所述指定数据包中的数据基于像素点的位置坐标填充到所述第二窗口中,这一过程为视频图像的渲染过程,如图4中箭头⑤所示。
[0147] 渲染后的视频帧图像可以从GPU的内存发送到显示器的内存中,从而可以通过显示器在显示屏幕上的所述第二窗口显示第二视频数据对应的视频帧图像。如图4中箭头⑥所示。由于浏览器对于每一帧第二视频数据都是进行如上操作,从而可以在第二窗口中显示所述连续的视频帧图像。
[0148] 一些实施方式中,如果控制器(如芯片)具备强大的双路播放的能力,例如具有双路解码模块以支持双路视频解码、具有双路播放模块(如控制器提供的播放器)以支持双路视频播放,那么可以实现双路视频播放功能。但是一些实施方式中,如果控制器(如芯片)不具有双路视频播放功能,例如仅具有一路解码模块或者仅具有一路播放模块,那么一方面可以基于该一路播放模块实现视频播放,另一方面可以基于浏览器自身的渲染功能,实现对视频帧的逐帧渲染,从而达到视频播放的效果,以此来实现显示设备上的双路视频播放的功能。
[0149] 进一步的,本发明的视频处理器将RGB格式的第二视频数据压缩成YUV数据之后发送到浏览器,从而可以提高数据传输效率以及数据处理,从而使视频播放更加顺畅。
[0150] 图5示例性示出了双路视频播放方法的流程图。
[0151] 结合上述显示设备结构,在显示设备上进行双路视频播放的方法包括以下步骤501~步骤505:
[0152] 步骤501:控制器控制浏览器功能模块从服务器获取两路媒体流数据。
[0153] 步骤502:控制解复用模块将所述浏览器功能模块获取的两路媒体流数据解复用为视频数据和音频数据。
[0154] 步骤503:由解码模块将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据。
[0155] 步骤504:控制器控制播放模块将解码后的第一路媒体流数据中的第一路视频数据输出至所述显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口。
[0156] 步骤505、控制器控制浏览器功能模块将解码后的第二路媒体流数据中的第二路视频数据渲染为连续的视频帧,并按照一定帧率输出至所述显示器上的第二窗口。
[0157] 在一个实施例中,解码模块将RGB格式的第二视频数据压缩成YUV数据之后发送到所述浏览器功能模块。
[0158] 在一个实施例中,解码模块将RGB格式的第二视频数据压缩成YUV数据之后发送到所述浏览器功能模块,具体包括:解码模块将所述RGB格式的第二视频数据转换成YUV数据后,再将YUV数据中的Y、U、V三组数据分别封装得到虚拟YV12数据,将所述虚拟YV12数据发送至所述浏览器。
[0159] 关于在显示设备上进行双路视频播放的方法的具体实施例可以参考上述显示设备中各个模块处理的实施例,此处不再赘述。
[0160] 在上述实施例中,显示设备可以通过浏览器功能模块从服务器获取两路媒体流数据,解复用模块将两路媒体流数据解复用为视频数据和音频数据;解码模块将解复用后的媒体流数据进行解码,以得到包括第一路视频数据和第一路音频数据的第一路媒体流数据、至少包括第二路视频数据的第二路媒体流数据;播放模块将解码后的第一路媒体流数据中的第一路视频数据输出至显示器上的第一窗口,以及将第一路音频数据输出至所述音频输出接口;浏览器功能模块将解码后的第二路视频数据渲染为连续的视频帧,并按照一定帧率输出至显示器上的第二窗口。
[0161] 由于一方面可以通过显示设备中的播放模块播放第一路媒体流数据;另一方面可以基于浏览器自身的渲染功能,实现对视频帧的逐帧渲染,从而实现播放第二路媒体流数据;以此来实现显示设备上的双路媒体流数据播放的功能。
[0162] 进一步的,本发明中可以控制将RGB格式的第二视频数据压缩成YUV数据之后发送到浏览器功能模块,从而可以提高数据传输以及数据处理的效率,从而使视频播放更加顺畅。
[0163] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0164] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈