CN113038221B - 一种双路视频播放方法及显示设备 - Google Patents

一种双路视频播放方法及显示设备 Download PDF

Info

Publication number
CN113038221B
CN113038221B CN202110228725.6A CN202110228725A CN113038221B CN 113038221 B CN113038221 B CN 113038221B CN 202110228725 A CN202110228725 A CN 202110228725A CN 113038221 B CN113038221 B CN 113038221B
Authority
CN
China
Prior art keywords
video data
data
display
decoded
controlling
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
Application number
CN202110228725.6A
Other languages
English (en)
Other versions
CN113038221A (zh
Inventor
张敏锐
李�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vidaa Netherlands International Holdings BV
Original Assignee
Vidaa Netherlands International Holdings BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vidaa Netherlands International Holdings BV filed Critical Vidaa Netherlands International Holdings BV
Priority to CN202110228725.6A priority Critical patent/CN113038221B/zh
Publication of CN113038221A publication Critical patent/CN113038221A/zh
Application granted granted Critical
Publication of CN113038221B publication Critical patent/CN113038221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

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

Abstract

本发明公开一种双路视频播放方法及显示设备,响应于对浏览器应用中第一片源和第二片源的观看操作,接收服务器传输的所述第一片源的第一视频数据以及所述第二片源的第二视频数据;控制解码器对所述第一视频数据进行解码,以及,控制渲染器对解码后的第一视频数据进行渲染,并控制显示器在第一窗口中显示渲染后的第一视频数据;控制解码器对所述第二视频数据进行解码,以及,调用图像处理器对解码后的第二视频数据进行渲染,并控制显示器在第二窗口中同步显示渲染后的第二视频数据。本申请能够突破CPU能力的限制,实现双路视频同步播放,不会增加CPU的处理压力,也不会增加内存成本,易于实现和应用,提升了用户观看体验。

Description

一种双路视频播放方法及显示设备
技术领域
本发明涉及显示设备领域,尤其涉及一种双路视频播放方法及显示设备。
背景技术
在一些应用场景中,显示设备一般安装有浏览器应用,用户可以访问浏览器,观看页面中的流媒体视频。显示设备接收到视频数据后,需要对视频数据进行解码和渲染处理,才能最终展示于显示器上,但受限于显示设备底层芯片的处理能力,有些显示设备仅支持显示单路视频,无法满足用户同时观看双路视频的需求。
发明内容
本发明提供一种双路视频播放方法及显示设备,以突破显示设备底层芯片的能力限制,实现双路视频的同步播放。
本申请第一方面的实施例提供一种显示设备,包括:
显示器,用于显示视频数据;
解码器,用于对视频数据进行解码;
渲染器,用于对解码后的视频数据进行渲染处理;
控制器,被配置为执行:
响应于对浏览器应用中第一片源和第二片源的观看操作,接收服务器传输的所述第一片源的第一视频数据以及所述第二片源的第二视频数据;
控制解码器对所述第一视频数据进行解码,以及,控制渲染器对解码后的第一视频数据进行渲染,并控制显示器在第一窗口中显示渲染后的第一视频数据;
控制解码器对所述第二视频数据进行解码,以及,调用图像处理器对解码后的第二视频数据进行渲染,并控制显示器在第二窗口中同步显示渲染后的第二视频数据。
在一些实施例中,所述控制器还用于执行:控制显示器以全屏模式显示所述第一窗口,以及,控制显示器以缩略窗模式显示所述第二窗口。
在一些实施例中,所述浏览器应用中预置有渲染模块,所述渲染模块与所述图像处理器通过接口连接,则在对第二视频数据进行解码后,所述控制器被配置为:
将解码后的第二视频数据发送给所述渲染模块,并控制所述渲染模块启动调用逻辑;
其中,所述调用逻辑被配置为:渲染模块调用所述接口,将解码后的第二视频数据通过所述接口发送给图形处理器,以使图形处理器对解码后的第二视频数据进行渲染。
在一些实施例中,所述浏览器应用中预置有用于下载并接收第一视频数据和第二视频数据的数据服务模块。
本申请第二方面的实施例提供一种双路视频播放方法,包括:
响应于对浏览器应用中第一片源和第二片源的观看操作,接收服务器传输的所述第一片源的第一视频数据以及所述第二片源的第二视频数据;
控制解码器对所述第一视频数据进行解码,以及,控制渲染器对解码后的第一视频数据进行渲染,并控制显示器在第一窗口中显示渲染后的第一视频数据;
控制解码器对所述第二视频数据进行解码,以及,调用图像处理器对解码后的第二视频数据进行渲染,并控制显示器在第二窗口中同步显示渲染后的第二视频数据。
本申请技术方案中,第一路视频通过CPU解码和CPU渲染后,最终展示于屏幕的第一窗口上;第二路视频通过CPU解码,并调用GPU渲染,最终展示于屏幕的第二窗口上,本申请能够突破CPU能力的限制,实现双路视频同步播放,不会增加CPU的处理压力,也不会增加内存成本,易于实现和应用,提升用户观看体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要访问的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的显示设备的使用场景;
图2示出了根据一些实施例的控制装置100的硬件配置框图;
图3示出了根据一些实施例的显示设备200的硬件配置框图;
图4示出了根据一些实施例的显示设备200中软件配置图;
图5示例性示出了双路视频播放时的界面效果示意图;
图6示例性示出了一种双路视频播放方法的流程图;
图7示例性示出了双路视频播放的底层架构示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图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驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
以上实施例介绍了显示设备的硬件/软件架构以及功能实现等内容。在某些应用场景中,用户启动浏览器应用,并选择浏览器中的片源,则显示设备可通过如流媒体等传输方式从服务器接收片源的视频数据,视频数据首选需要解码,然后再对解码后的视频数据进行渲染,才能最终显示在屏幕上供用户观赏。
对于目前的显示设备,虽然CPU解码器可以支持两路视频解码,但是在渲染环节,CPU渲染器仅能支持单路视频的渲染和显示,即受限于显示设备CPU(底层芯片)的处理能力,无法实现双路视频播放。对于支持单路视频显示的CPU,若要增加一路视频显示,必然会增加内存开销和成本,并且CPU一般具有Scaler(图像缩放,通过配置Scaler参数,可实现视频的放大和缩小),Scaler功能也会导致显示设备无法支持双路视频显示,无法满足用户同时观看双路视频的需求。
对此,在一些实施例中,本申请提供的方案可以实现双路视频播放,其播放机制为:其中一路的视频数据(命名为第一视频数据)走常规模式,即利用CPU的解码器和渲染器,对第一视频数据进行解码并渲染于显示器进行显示;另一路的视频数据(命名为第二视频数据)利用CPU的解码器进行解码,第二视频数据不依靠CPU的渲染器进行渲染,而是调用GPU(图形处理器)将解码后的第二视频数据渲染于显示器上进行显示,即在渲染环节,第一路视频采用CPU渲染,第二路视频采用GPU渲染,从而将两路视频同时渲染到OSD(On-ScreenDisplay,屏幕菜单式调节方式)层进行展示。
在一些实施例中,两路视频可以在不同的窗口进行显示,第一视频数据渲染于第一窗口显示,第二视频数据渲染于第二窗口显示,第一窗口和第二窗口均显示于OSD层。为提高显示效果和用户观感,如图5所示,第一窗口可以全屏模式进行显示,第二窗口可以缩略窗模式进行显示,即双路视频分别采用大窗和小窗显示,缩略窗相较于全屏窗的缩放比例以及缩略窗的预设显示位置可以根据实际应用进行设置。
在一些实施例中,参照图5,缩略窗的指定位置还可以显示播放时间的计时,方便用户获知小窗视频的播放进度。
在一些实施例中,参照图5,缩略窗中还可以设置窗口调整控件和退出控件。当用户点击窗口调整控件时,可以将第二窗口由缩略窗切换至全屏窗,同步地自动将第一窗口由全屏窗切换至缩略窗,即可根据用户需求任意切换两路视频的窗口形态;当用户点击退出控件时,即可自动退出并销毁缩略窗,即取消显示其中一路视频,使得视频播放由双路切换至单路。需要说明的是,双路视频播放的UI设计不限于本申请实施例所述。
在一些实施例中,图6示出了一种双路视频播放方法,所述方法的执行主体是显示设备的控制器250,所述方法包括如下程序步骤:
步骤S10,响应于对浏览器应用中第一片源和第二片源的观看操作,接收服务器传输的第一片源的第一视频数据以及第二片源的第二视频数据。
在执行步骤S10之后,第一路视频显示逻辑包括步骤S201~步骤S203:
步骤S201,控制解码器对所述第一视频数据进行解码;
步骤S202,控制渲染器对解码后的第一视频数据进行渲染;
步骤S203,控制显示器在第一窗口中显示渲染后的第一视频数据。
第一路视频显示逻辑中,所述解码器和渲染器对应于显示设备的CPU,即第一路视频通过CPU解码和CPU渲染后,最终展示于屏幕的第一窗口上。
在执行步骤S10之后,与第一路视频显示逻辑同步执行的第二路视频显示逻辑包括步骤S301~步骤S303:
步骤S301,控制解码器对所述第二视频数据进行解码;
步骤S302,调用图像处理器对解码后的第二视频数据进行渲染;
步骤S303,控制显示器在第二窗口中同步显示渲染后的第二视频数据。
第二路视频显示逻辑中,第二路视频通过CPU解码和GPU渲染后,最终展示于屏幕的第二窗口上。第二路视频调用GPU渲染,能够突破CPU能力的限制,实现双路视频同步播放,不会增加CPU的处理压力,也不会增加内存成本,易于实现和应用,提升了用户观看体验。
在一些实施例中,图7示出了双路视频播放的底层架构,包括显示设备内置的注入器(Injector)、CPU的解码器(Decoder)、CPU的渲染器(Render)、图形处理器(GPU)和显示器(Display),以及浏览器应用中预置的数据服务模块(DataService)和渲染模块(SoftRender)。
在一些实施例中,DataService用于数据缓存和管理,可以缓存两种数据,第一种是从网络端服务器下载并接收的数据,这类数据可体现为ES(Elementary Stream,基本码流)流,包括视频、音频等类型数据的连续码流,前述第一视频数据和第二视频数据均属于此种,DataService还用于将第一视频数据和第二视频数据推送到Injector;第二种是经Decoder解码后,回调到DataService的数据,前述解码后的第二视频数据即为第二种。在一些实施例中,Injector用于在接收到第一视频数据(VideoData1)和第二视频数据(VideoData2)后,向CPU注入两路视频数据,调用CPU的解码器分别对两路视频数据进行解码,之后调用CPU的渲染器对解码后的第一视频数据(Decoded VideoData1)进行渲染,并将渲染后的第一视频数据(Rendered VideoData1)展示于OSD层的第一窗口中,即实现了第一路视频显示;以及,Injector通过注册给CPU的回调VRCallback,不断更新Decoder解码后的第二视频数据(Decoded VideoData2)的帧列表,DataService连续从帧列表中获取解码后的FrameData(帧数据),从而实现动态轮询,完成第二路视频解码后的数据上抛过程。
在一些实施例中,DataService将获取到的FrameData传输给EGL,EGL是Khronos渲染API(比如OpenGL ES或OpenVG)与底层本机平台窗口系统之间的一个中间接口层,EGL是提供给SoftRender使用的工具,可用于管理绘图表面,EGL主要提供如下机制:(1)与显示设备的原生窗口系统通信,(2)查询绘制表面的可用类型和配置,(3)创建绘图表面,(4)在OpenGL ES和其他图形渲染API直接同步渲染,(5)管理纹理贴图等渲染资源等,EGL的处理逻辑和工作机制等相关内容可具体参照现有技术,本申请实施例不再赘述。
在一些实施例中,EGL接收到FrameData后,对帧数据进行处理得到Decode Target(目标数据),并将Decode Target反馈给DataService;DataService将DecodeTarget组装成ImageData(图形数据),并将ImageData发送给SoftRender,即将解码后的第二视频数据经过EGL处理并组装成ImageData后发送给渲染模块SoftRender,SoftRender与GPU通过接口连接;当SoftRender接收到ImageData后,SoftRender启动调用逻辑,调用与GPU连接的接口,将ImageData通过该接口发送给GPU进行渲染,GPU将渲染后的第二视频数据(RenderedVideoData2)传输到显示器,并在OSD层的第二窗口中进行显示,则实现了第二路视频显示。SoftRender是内置于浏览器中的用于图形渲染的功能模块,SoftRender和GPU的配合,实现了第二路视频的渲染和显示。
在一些实施例中,随着片源视频数据的逐帧显示,会按照时序不断创建新帧的DecodeTarget,以及销毁已播旧帧的DecodeTarget,由于DecodeTarget的创建和销毁周期较长,因此要考虑DataService获取FrameData的时序问题,避免视频播放卡顿等问题。对此,可以在内存中设置并维护3组帧缓冲区来缓存帧数据,分别为FrameBuffer0、FrameBuffer1和FrameBuffer2,FrameBuffer0缓存当前帧数据(设为FrameData0),FrameBuffer1缓存当前帧的下一帧数据(FrameData1),当DataService获取到当前帧数据FrameData0后,将FrameData0转移到FrameBuffer2中等待销毁,并将FrameData1从FrameBuffer1转移到FrameBuffer0,将下一帧FrameData2缓存到FrameBuffer1,以此类推,可以实现帧数据的缓存与销毁的动态平衡,解决了第二路视频解码后数据上抛时的时序问题,保证视频数据的显示效果。
由以上各实施例的技术方案可知,第一路视频是通过CPU解码和CPU渲染后,最终展示于屏幕的第一窗口上;第二路视频是通过CPU解码,并最终调用GPU渲染,从而展示于屏幕的第二窗口上,用户通过第一窗口和第二窗口可以同步观看双路片源的视频。本申请能够突破CPU能力的限制,实现双路视频同步播放,不会增加CPU的处理压力,也不会增加内存成本,易于实现和应用,提升用户观看体验。本申请中涉及的CPU解码、CPU渲染和GPU渲染的具体实现方法可参照现有技术,本申请实施例不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。具体实现中,本发明还提供一种计算机存储介质,该计算机存储介质可存储有程序。当计算机存储介质位于显示设备中时,该程序执行时可包括本申请实施例中涉及的双路视频播放方案涉及的程序步骤。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-Only Memory,简称ROM)或随机存储记忆体(英文:RandomAccess Memory,简称RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

Claims (6)

1.一种显示设备,其特征在于,配置有数据服务模块用于数据缓存和管理,所述显示设备还包括:
显示器,用于显示视频数据;
注入器,用于注入视频数据;
控制器,包括中央处理器;所述中央处理器,用于对视频数据进行解码以及对解码后的视频数据进行渲染处理;所述中央处理器包括解码器以及渲染器;显示设备的图形处理器用于对解码后的视频数据进行渲染处理;所述图形处理器通过接口与所述数据服务模块连接;
控制器,被配置为执行:
响应于对浏览器应用中第一片源和第二片源的观看操作,接收服务器传输的所述第一片源的第一视频数据以及所述第二片源的第二视频数据;
在接收第一视频数据以及第二视频数据后,控制所述注入器向所述中央处理器注入所述第一视频数据以及第二视频数据;
控制所述解码器对所述第一视频数据进行解码,以及,控制所述渲染器对解码后的第一视频数据进行渲染,并控制显示器在第一窗口中显示渲染后的第一视频数据;
控制所述解码器对所述第二视频数据进行解码,得到解码后的第二视频数据;
控制所述注入器通过所述中央处理器的回调函数,更新所述解码后的第二视频数据的帧列表;
基于所述数据服务模块从所述帧列表中获取解码后的帧数据,以及将所述帧数据传输至与所述数据服务模块相连的接口;
对所述帧数据处理得到的目标数据;
控制所述数据服务模块将所述目标数据组装成图形数据,以及,调用所述图形处理器对所述图形数据进行渲染,并控制显示器在第二窗口中同步显示渲染后的第二视频数据,以实现第一片源以及第二片源的渲染和显示。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器还用于执行:
控制显示器以全屏模式显示所述第一窗口,以及,控制显示器以缩略窗模式显示所述第二窗口。
3.根据权利要求1所述的显示设备,其特征在于,所述浏览器应用中预置有渲染模块,所述渲染模块与所述图形处理器通过接口连接,则在对第二视频数据进行解码后,所述控制器被配置为:
将解码后的第二视频数据发送给所述渲染模块,并控制所述渲染模块启动调用逻辑;
其中,所述调用逻辑被配置为:所述渲染模块调用所述接口,将解码后的第二视频数据通过所述接口发送给图形处理器,以使图形处理器对解码后的第二视频数据进行渲染。
4.一种双路视频播放方法,其特征在于,包括:
显示设备响应于对浏览器应用中第一片源和第二片源的观看操作,接收服务器传输的所述第一片源的第一视频数据以及所述第二片源的第二视频数据;
所述显示设备的控制器包括中央处理器;所述中央处理器,用于对视频数据进行解码以及对解码后的视频数据进行渲染处理;所述中央处理器包括解码器以及渲染器;显示设备的图形处理器用于对解码后的视频数据进行渲染处理;所述图形处理器通过接口与数据服务模块连接,在接收第一视频数据以及第二视频数据后,控制注入器向所述中央处理器注入所述第一视频数据以及第二视频数据;
控制解码器对所述第一视频数据进行解码,以及,控制渲染器对解码后的第一视频数据进行渲染,并控制显示器在第一窗口中显示渲染后的第一视频数据;控制解码器对所述第二视频数据进行解码,得到解码后的第二视频数据;
控制所述注入器通过所述中央处理器的回调函数,更新所述解码后的第二视频数据的帧列表;
基于数据服务模块从所述帧列表中获取解码后的帧数据,以及将所述解码后的帧数据传输至与所述数据服务模块相连的接口,以完成第二片源对应的第二视频解码后的第二视频数据的上抛;
对所述帧数据进行处理得到目标数据;
将所述目标数据组装成图形数据,以及,调用图形处理器对解码后的所述图形数据进行渲染,并控制显示器在第二窗口中同步显示渲染后的第二视频数据,以实现第一片源以及第二片源的渲染和显示。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
以全屏模式显示所述第一窗口,以及,以缩略窗模式显示所述第二窗口。
6.根据权利要求4所述的方法,其特征在于,所述浏览器应用中预置有渲染模块,所述渲染模块与所述图形处理器通过接口连接,则在对第二视频数据进行解码后,按照如下方式调用图形处理器:
将解码后的第二视频数据发送给所述渲染模块,并控制所述渲染模块启动调用逻辑;
其中,所述调用逻辑被配置为:所述渲染模块调用所述接口,将解码后的第二视频数据通过所述接口发送给图形处理器,以使图形处理器对解码后的第二视频数据进行渲染。
CN202110228725.6A 2021-03-02 2021-03-02 一种双路视频播放方法及显示设备 Active CN113038221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110228725.6A CN113038221B (zh) 2021-03-02 2021-03-02 一种双路视频播放方法及显示设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110228725.6A CN113038221B (zh) 2021-03-02 2021-03-02 一种双路视频播放方法及显示设备

Publications (2)

Publication Number Publication Date
CN113038221A CN113038221A (zh) 2021-06-25
CN113038221B true CN113038221B (zh) 2023-02-28

Family

ID=76465301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110228725.6A Active CN113038221B (zh) 2021-03-02 2021-03-02 一种双路视频播放方法及显示设备

Country Status (1)

Country Link
CN (1) CN113038221B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9508108B1 (en) * 2008-11-07 2016-11-29 Google Inc. Hardware-accelerated graphics for user interface elements in web applications
CN106210883A (zh) * 2016-08-11 2016-12-07 浙江大华技术股份有限公司 一种视频渲染的方法、设备
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端
CN110446114A (zh) * 2019-08-19 2019-11-12 广州视源电子科技股份有限公司 多媒体数据的处理装置、方法、电子设备及存储介质
CN110516179A (zh) * 2019-08-07 2019-11-29 Oppo广东移动通信有限公司 图形渲染方法、装置、电子设备及存储介质
CN111107428A (zh) * 2019-12-03 2020-05-05 青岛海信传媒网络技术有限公司 一种双路媒体流数据的播放方法及显示设备
CN112235626A (zh) * 2020-10-15 2021-01-15 Oppo广东移动通信有限公司 视频渲染方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620954B (zh) * 2018-06-20 2021-11-26 阿里巴巴(中国)有限公司 用于硬解的视频处理方法、装置和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9508108B1 (en) * 2008-11-07 2016-11-29 Google Inc. Hardware-accelerated graphics for user interface elements in web applications
CN106210883A (zh) * 2016-08-11 2016-12-07 浙江大华技术股份有限公司 一种视频渲染的方法、设备
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端
CN110516179A (zh) * 2019-08-07 2019-11-29 Oppo广东移动通信有限公司 图形渲染方法、装置、电子设备及存储介质
CN110446114A (zh) * 2019-08-19 2019-11-12 广州视源电子科技股份有限公司 多媒体数据的处理装置、方法、电子设备及存储介质
CN111107428A (zh) * 2019-12-03 2020-05-05 青岛海信传媒网络技术有限公司 一种双路媒体流数据的播放方法及显示设备
CN112235626A (zh) * 2020-10-15 2021-01-15 Oppo广东移动通信有限公司 视频渲染方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113038221A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN114302219B (zh) 一种显示设备及可变帧率显示方法
CN112672195A (zh) 遥控器按键设置方法及显示设备
US11960674B2 (en) Display method and display apparatus for operation prompt information of input control
CN113055728A (zh) 一种多设备同步播放方法及显示设备
CN112272331B (zh) 一种节目频道列表快速展示的方法及显示设备
CN113111214A (zh) 一种播放记录的显示方法及显示设备
CN113163258A (zh) 一种频道切换的方法及显示设备
CN112911371B (zh) 双路视频资源播放方法及显示设备
CN113453052B (zh) 音画同步方法及显示设备
CN112363683B (zh) 一种网页应用支持多图层显示的方法及显示设备
CN113014977B (zh) 显示设备及音量显示方法
WO2022116600A1 (zh) 一种显示设备
CN113038221B (zh) 一种双路视频播放方法及显示设备
CN112882631A (zh) 显示设备上电子说明书的显示方法及显示设备
CN115185392A (zh) 显示设备、图像处理方法及装置
CN112836158A (zh) 显示设备上的资源加载方法及显示设备
CN111782606A (zh) 显示设备、服务器和文件管理方法
CN113709557B (zh) 一种音频输出的控制方法及显示设备
CN113630654B (zh) 显示设备及媒资片源推送方法
CN113784222B (zh) 应用和数字电视节目的交互方法及显示设备
CN112887769B (zh) 一种显示设备
CN112883302B (zh) 一种显示超链接地址对应页面的方法及显示设备
CN113038193B (zh) 一种自动修复音视频不同步的方法及显示设备
CN113436564B (zh) 一种epos的展示方法及显示设备
CN113051001B (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

Effective date of registration: 20221021

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.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant