CN117812330A - 一种显示设备及广播节目播放方法 - Google Patents
一种显示设备及广播节目播放方法 Download PDFInfo
- Publication number
- CN117812330A CN117812330A CN202310300886.0A CN202310300886A CN117812330A CN 117812330 A CN117812330 A CN 117812330A CN 202310300886 A CN202310300886 A CN 202310300886A CN 117812330 A CN117812330 A CN 117812330A
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- media
- frame
- data queue
- 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 28
- 230000004044 response Effects 0.000 claims abstract description 5
- 230000001360 synchronised effect Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 13
- 238000009877 rendering Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 17
- 230000011664 signaling Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 101100394003 Butyrivibrio fibrisolvens end1 gene Proteins 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请一些实施例示出一种显示设备及广播节目播放方法,所述方法包括:响应于播放广播节目的指令,计算运营商服务器的通用协调时间;接收广播通道发送的第一媒体数据并将第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的从通用协调时间开始的第二媒体数据并将第二媒体数据保存至第二数据队列中;基于第一数据队列和第二数据队列中的数据确定第一同步时间点;将第一数据队列和第二数据队列中第一同步时间点的帧数据发送至解码器,以使解码器将第一同步时间点的帧数据解码。本申请实施例通过基于运营商服务器的通用协调时间实现精准拉取宽带通道的数据流,通过数据队列精确同步快速达到广播节目音画同步效果,提升用户体验。
Description
技术领域
本申请涉及显示设备技术领域,尤其涉及一种显示设备及广播节目播放方法。
背景技术
ATSC(Advanced Television Systems Committee,数字电视国家标准)3.0是一种基于广播和IP(宽带)的混合传输标准,广播商可以采用线性广播或者IP流媒体单一方式传输实时内容,也可以采用线性广播+IP流媒体混合方式传输实时内容。广播商在广播通道中传输HEVC(High Efficiency Video Coding,高效率视频编码,又称为H.265编码)UHD(Ultra High Definition,超高清)视频和英文解说声音,并通过宽带通道在辅助音频中传输其它语言的解说声,没有接入互联网的ATSC 3.0电视设备仅能接受英文解说版本节目,而接入互联网的设备则能选择其它语言的解说,享受个性化音频体验。这是一个典型的ATSC 3.0混合播放场景。
广播通道是指前端DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流)Server(服务器)将MPD(Media Presentation Description,媒体表示描述)和Media(媒体)数据通过ROUTE(Real-Time Object Delivery over UnidirectionalTransport,基于单向传输的实时对象传输)/DASH组包、调制,发送ATSC 3.0信号,电视接收ATSC3.0信号,经过解调、ROUTE/DASH包解析得到MPD和Media数据,整个过程存在稳定 且较小的延时。但广播通道容易受天气等因素影响,可能发送数据丢失且没有重传机制。宽带通道因网络拥塞和抖动总是存在不稳定的延时,但数据可重传,不会发生被动的数据丢失。在ATSC 3.0混合播放场景时,如果广播通道或宽带通道发生数据丢失后重新连接,导致广播节目播放不同步,影响用户体验。
发明内容
本申请一些实施例提供了一种显示设备及广播节目播放方法,通过基于运营商服务器的通用协调时间实现精准拉取宽带通道的数据流,通过数据队列精确同步快速达到广播节目音画同步效果,提升用户体验。
第一方面,本申请一些实施例中提供一种显示设备,包括:
显示器;
控制器,被配置为:
响应于播放广播节目的指令,计算运营商服务器的通用协调时间;
接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的从所述通用协调时间开始的第二媒体数据并将所述第二媒体数据保存至第二数据队列中,所述第一媒体数据与所述第二媒体数据的媒体类型不同,所述媒体类型包括音频和视频;
基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;
将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。
在一些实施例中,所述控制器执行基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点,被进一步配置为:
如果目标最大值小于目标最小值,则确定第一同步时间点为所述目标最大值,所述目标最大值为所述第一数据队列中的第一帧数据时间戳与所述第二数据队列中第一帧数据时间戳中的最大值,所述目标最小值为所述第一数据队列中的最后一帧数据时间戳与所述第二数据队列中最后一帧数据时间戳中的最小值。
在一些实施例中,所述第一媒体数据的媒体类型为视频,所述第二媒体数据的媒体类型为音频,所述控制器,被配置为:
如果未接收到宽带通道发送的音频数据,继续接收广播通道发送的视频数据并将所述视频数据保存至第一数据队列中;
如果所述第一数据队列中的关键帧数量超过关键帧帧数上限,将时间戳最早的关键帧对应的画面组数据删除;
在接收到宽带通道发送的音频数据后,将所述音频数据保存至第二数据队列中,执行所述基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
在一些实施例中,所述第一媒体数据的媒体类型为视频,所述第二媒体数据的媒体类型为音频,所述控制器,被配置为:
如果未接收到广播通道发送的视频数据,继续接收宽带通道发送的音频数据并将所述音频数据保存至第二数据队列中;
如果所述第二数据队列中的音频帧数超过帧数上限,将时间戳最早的音频帧数据删除;
在接收到广播通道发送的视频数据后,将视频数据保存至第一数据队列中,执行所述基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
在一些实施例中,所述第一媒体数据的媒体类型为视频,所述第二媒体数据的媒体类型为音频,所述控制器执行将所述第一数据队列和所述第二数据队列中所述目标时间点的帧数据发送至解码器,被进一步配置为:
确定目标关键帧,所述目标关键帧为所述第一数据队列中所述第一同步时间点的前一个关键帧;
将所述目标关键帧及所述目标关键帧后的数据发送解码器,以及,将所述第一同步时间点的音频帧数据发送至解码器,其中,显示时间戳小于所述第一同步时间点的视频帧不参与渲染。
在一些实施例中,所述控制器,被配置为:
在广播节目播放过程中,如果所述第一数据队列中缓存数据为0,继续接收宽带通道发送的第二媒体数据并将所述第二媒体数据保存至第二数据队列中;
在接收到广播通道发送的第一媒体数据后,将所述第一媒体数据保存至第一数据队列中;
如果检测到第一媒体数据发生数据跳变,则确定第二同步时间点为所述第一数据队列中的第一帧数据对应的时间戳;
将所述第一数据队列和所述第二数据队列中所述第二同步时间点的帧数据发送至解码器,以使所述解码器将所述第二同步时间点的帧数据解码。
在一些实施例中,所述控制器,被配置为:
在继续接收宽带通道发送的第二媒体数据时,如果所述第二数据队列中的数据帧数超过帧数上限,将所述第二数据队列中时间戳最早的帧数据删除。
在一些实施例中,所述控制器,被配置为:
在广播节目播放过程中,如果所述第二数据队列中缓存数据为0,继续接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中;
在接收到宽带通道发送的第二媒体数据后,将所述第二媒体数据保存至第二数据队列中;
如果第一数据队列的数据帧数未达到帧数上限,将所述第一数据队列和所述第二数据队列中第一帧数据发送至解码器,以使所述解码器将所述第一帧数据解码;
如果第一数据队列的数据帧数达到过帧数上限,则执行计算运营商服务器的通用协调时间的步骤。
在一些实施例中,所述控制器,被配置为:
在继续接收广播通道发送的第一媒体数据时,如果所述第一数据队列中的数据帧数超过帧数上限,将所述第一数据队列中时间戳最早的帧数据删除。
第二方面,本申请一些实施例中提供一种广播节目播放方法,包括:
响应于播放节目的指令,计算运营商服务器的通用协调时间;
接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的所述通用协调时间对应的第二媒体数据并将所述第二媒体数据保存至第二数据队列中,所述第一媒体数据与所述第二媒体数据的媒体类型不同,所述媒体类型包括音频和视频;
基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;
将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。
本申请的一些实施例提供一种显示设备及广播节目播放方法。在接收到用户输入播放广播节目的指令后,该广播节目的音视频数据来源于广播通道和宽带通道两种不同通道。直接接收来自广播通道的第一媒体数据并保存至第一数据队列中。计算运营商服务器的通用协调时间后,可接收来自宽带通道中通用协调时间对应的第二媒体数据并保存至第二数据队列中,基于运营商服务器的通用协调时间实现精准拉取宽带通道的数据流。基于第一数据队列和第二数据队列中的数据确定第一同步时间点;将第一数据队列和第二数据队列中第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。然后由解码器将解码后的数据发送至渲染器渲染,实现广播节目的音画同步,提升用户体验。
附图说明
图1示出了根据一些实施例的显示设备与控制装置之间操作场景;
图2示出了根据一些实施例的控制设备的硬件配置框图;
图3示出了根据一些实施例的显示设备的硬件配置框图;
图4示出了根据一些实施例的显示设备中软件配置图;
图5示出了根据一些实施例提供的一种ATSC 3.0混合播放场景的示意图;
图6示出了根据一些实施例提供的一种音频选择子菜单的示意图;
图7示出了根据一些实施例提供的另一种音频选择子菜单的示意图;
图8示出了根据一些实施例提供的一种ATSC 3.0混合播放场景的示意图;
图9示出了根据一些实施例提供的一种清晰度选择子菜单的示意图;
图10示出了根据一些实施例提供的另一种清晰度选择子菜单的示意图;
图11示出了根据一些实施例提供的一种广播节目播放方法的流程图;
图12示出了根据一些实施例提供的一种ATSC 3.0混合传输同步机制的示意图;
图13示出了根据一些实施例提供的一种目标最大值与目标最小值比较的效果图;
图14示出了根据一些实施例提供的第一种音视频对齐与丢帧的示意图;
图15示出了根据一些实施例提供的第二种音视频对齐与丢帧的示意图;
图16示出了根据一些实施例提供的第三种音视频对齐与丢帧的示意图;
图17示出了根据一些实施例提供的一种混合场景播放基本功能模块图;
图18示出了根据一些实施例提供的一种系统架构图;
图19示出了根据一些实施例提供的一种播放器状态转换示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、智能电视、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。图1和图2为本申请的显示设备的一种具体实施方式。
图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备可以不使用上述的智能设备或控制设备接收指令,而是通过触摸或者手势等接收用户的控制。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
如图3,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。
显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
显示器260还包括触控屏,触控屏用于接收用户手指在触控屏上滑动或点击等动作输入控制指令。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。
用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、通用串行总线输入接口(通用串行总线)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,控制器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)等中的至少一种。
用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、通用串行总线驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
ATSC 3.0是一种基于广播和IP(宽带)的混合传输标准,广播商可以采用线性广播或者IP流媒体单一方式传输实时内容,也可以采用线性广播+IP流媒体混合方式传输实时内容。
广播通道是指前端DASH Server将MPD和Media(媒体)数据通过ROUTE/DASH组包、调制,发送ATSC 3.0信号,电视接收ATSC 3.0信号,经过解调、ROUTE/DASH包解析得到MPD和Media数据,整个过程存在稳定且较小的延时。但广播通道容易受天气等因素影响,可能发送数据丢失且没有重传机制。宽带通道因网络拥塞和抖动总是存在不稳定的延时,但数据可重传,不会发生被动的数据丢失。在ATSC 3.0混合播放场景时,如果广播通道或宽带通道发生数据丢失后重新连接,导致广播节目播放不同步,影响用户体验。
在一些实施例中,如图5所示,广播商在广播通道中传输HEVC UHD视频和英文解说声音,并通过宽带通道在辅助音频中传输其他语言的解说声。如果没有接入互联网的ATSC3.0显示设备仅能接受英文解说版本节目,而如果接入互联网的显示设备,则能选择其他语 言的解说,享受个性化音频体验,这是一个典型的ATSC 3.0混合播放场景。
显示设备通过ATSC 3.0信令(USBD(User Service Bundle Description,用户服务捆绑描述)和MPD)得知广播节目由1路视频和4路音频组成。视频和英语音频由广播通道传输,其他3路音频由宽带通道传输。接收用户按压控制装置菜单键的指令,在显示设备显示菜单节目信息栏,所述菜单节目信息栏包括音频控件61。接收用户选中音频控件的指令,显示音频选择子菜单。如果显示设备没有接入互联网,不能访问宽带通道,音频选择子菜单上只包括英语音频控件611,如图6所示。如果显示设备已接入互联网,音频选择子菜单显示4个语言音频控件711-714。用户通过选择想要语言音频控件来切换音频,如图7所示。
在一些实施例中,如图8所示,广播商在广播通道中传输超高清视频和英文解说声音,并通过宽带通道在辅助视频中传输其他清晰度的视频。如果没有接入互联网的ATSC3.0显示设备仅能接受超高清视频,而如果接入互联网的显示设备,则能选择其他清晰度的视频,享受个性化视频体验。
显示设备通过ATSC 3.0信令(USBD(User Service Bundle Description,用户服务捆绑描述)和MPD)得知广播节目由3路视频和1路音频组成。超高清视频和英语音频由广播通道传输,其他2路视频由宽带通道传输。接收用户按压控制装置菜单键的指令,在显示设备显示菜单节目信息栏,所述菜单节目信息栏包括清晰度控件62。接收用户选中清晰度控件的指令,显示清晰度选择子菜单。如果显示设备没有接入互联网,不能访问宽带通道,清晰度选择子菜单上只包括超高清控件621,如图9所示。如果显示设备已接入互联网,清晰度选择子菜单显示3个清晰度控件721-723。用户通过选择想要清晰度控件来切换视频的清晰度,如图10所示。
为了解决以上技术问题,本申请实施例提供一种显示设备200,显示设备200的结构及各部分的功能可以参阅上述实施例。此外,在上述实施例示出的显示设备200的基础上,本实施例对显示设备200的一些功能做进一步的完善。
在广播节目启动播放过程中,如图11所示,控制器250执行以下步骤:
步骤S1101:接收播放广播节目的指令;
在一些实施例中,接收播放广播节目的指令,包括:接收用户输入的打开广播频道或切换广播频道的指令。
在一些实施例中,接收播放广播节目的指令,包括:接收用户输入预约节目的指令,在到达所述节目的预约时间后,接收切换到所述节目对应的频道的指令。
需要说明的是,该广播节目的音视频数据来自于不同通道,即可以是视频数据来自广播通道,音频数据来自宽带通道,或是,视频数据来自宽带通道,音频数据来自广播通道。
在一些实施例中,广播节目的音视频数据来源可以提前设置。示例性的,用户在输入播放广播节目的指令之前,已经播放过该频道的节目,并通过选择音频或视频使得该频道对应的节目的音视频数据来自于不同通道,而显示设备将该用户选择的音频来源和视频来源记录到历史信息中。当用户再次输入该广播节目播放指令或该频道对应节目的广播指令后,在历史信息中获取到音频来源和视频来源,从而直接在记录的音频来源处获取音频数据,在记录的视频来源处获取视频数据。
在一些实施例中,广播节目的音视频数据来源可以在用户选择音频或视频后设置。示例性的,接收用户输入播放广播节目的指令后,广播节目的音视频数据均默认设置来自于广播通道。接收用户切换视频或音频的指令后,切换视频或音频的数据通道,使得该广播节目的音视频数据来自于不同通道。
步骤S1102:计算运营商服务器的通用协调时间;
ATSC 3.0混合传输模式下,来自不同传输通道的音视频能够实现同步的基础是两个通道传输的内容基于统一的UTC(Universal Time Coordinated,通用协调时间)系统时间。如图12所示,ATSC 3.0混合传输同步机制,前端运营商的DASH Server采用统一的UTCSource生成MPD和Media数据,MPD和Media数据分别经过广播通道和宽带通道传输,在显示设备(DASH Client)端采用同样的UTC时间线重建音视频数据同步。
显示设备的系统时间一般来自于IP网络NTP(Network Time Protocol,网络时间协议)服务器、广播网络时间信令或者用户手动设置时间。ATSC 3.0可以用System TimeFragment(系统时间片段)LLS(Low Layer Signal,底层信令)信令传输时间,该时间就是运营商服务器端UTC时间。
在一些实施例中,计算运营商服务器的通用协调时间的步骤,包括:
计算所述服务器系统时间与所述本地系统时间的时间差;
在一些实施例中,计算所述服务器系统时间与所述本地系统时间的时间差的步骤,包括:
确定显示设备的本地系统时间;
接收System Time Fragment信令并从System Time Fragment信令解析出运营商服务器发送的服务器系统时间;
计算所述服务器系统时间与所述本地系统时间的差值。
确定显示设备当前本地系统时间;
运营商服务器的通用协调时间为所述当前本地系统时间和所述时间差之和。
示例性的,显示设备在T0时刻接收到System Time Fragment信令,信令描述系统时间为T1,(T1-T0)表示本地系统时间和服务器UTC时间差(如果本地系统时间本来就是以信令时间构建,T1-T0=0)。任何时刻通过本地系统时间计算运营商服务器UTC时间:Tserver=Tlocal+(T1-T0),Tlocal为本地系统时间。
步骤S1103:接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的从所述通用协调时间开始的第二媒体数据并将所述第二媒体数据保存至第二数据队列中;
其中,所述第一媒体数据为音频数据或视频数据,所述第二媒体数据为视频数据或音频数据。需要说明的是,第一媒体数据与第二媒体数据不同时为音频数据或视频数据,即第一媒体数据与第二媒体数据中至少一个是视频数据,至少一个是音频数据。
在一些实施例中,接收宽带通道发送的从所述通用协调时间开始的第二媒体数据的步骤,包括:
根据运营商服务器通用协调时间,定位目标媒体数据分段。
其中,目标媒体数据分段的起始时间大于或等于运营商服务器通用协调时间,且目标媒体数据分段的结束时间小于运营商服务器通用协调时间。
即availabilityStartTime@MPD+Period.start+segment.start≤Tserver,且availabilityStartTime@MPD+Period.start+segment.end>Tserver。
MPD文件描述availabilityStartTime、period和segment。一个节目可以分成多个period(时间段),每个period分成多个segment(分片)。其中,availabilityStartTime表示节目的起始时间,Period.start表示时间段的起始时间(相对于节目起始时间的偏移),Segment.start表示分片的起始时间(相对于“时间段”的起始时间的偏移),Segment.end表示分片的结束时间(相对于“时间段”的起始时间的偏移)。availabilityStartTime@MPD+Period.start+segm ent.start,表示节目中某个“分片”的起始时间(绝对值)。availabilityStartTime@MPD+Perio d.start+segment.end,表示节目中某个“分片”的结束时间(绝对值)。
按照上述方法拉流,播放器同一时间从两个传输通道得到音视频数据分段大致上对齐,可能存在1~2数据分段长度(几秒钟)的差异,且数据分段到达时间有先后,需要对基本码流数据队列中缓冲数据再进行精准同步。
步骤S1104:基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;
在一些实施例中,当有数据进入到第一数据队列和第二数据队列中时,可以利用同步模块向解码器中注入数据,使得注入的音视频数据同步。在未完成数据同步即未注入解码器数据前,将播放器标记为seeking(寻找)状态,seeking状态用于表征当前正在寻找同步的音视频数据,而体现在用户界面为黑屏状态。音视频数据同步是指注入解码器的第一帧视频数据与第一帧音频数据的PTS(Presentation Time Stamp,显示时间戳)相同或相近。
seeking状态下,宽带通道尽可能快地下载媒体分段数据(一个分段完成,立即下载下一个分段,中间无需等待),确保即使宽带通道第二数据队列在丢帧之后仍然有数据可用。
在一些实施例中,基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤包括:
确定目标最大值,所述目标最大值为所述第一数据队列中的第一帧数据时间戳与所述第二数据队列中第一帧数据时间戳中的最大值;
其中,第一数据队列中的第一帧数据时间戳用PTSstart1表示,第二数据队列中的第一帧数据时间戳用PTSstart2表示,则目标最大值为max(PTSstart1,PTSstart2)。
确定目标最小值,所述目标最小值为所述第一数据队列中的最后一帧数据时间戳与所述第二数据队列中最后一帧数据时间戳中的最小值;
其中,第一数据队列中的最后一帧数据时间戳用PTSend1表示,第二数据队列中的最后一帧数据时间戳用PTSend2表示,则目标最小值为min(PTSend1,PTSend2)。
判断所述目标最大值是否小于所述目标最小值;
如果所述目标最大值小于所述目标最小值,即max(PTSstart1,PTSstart2)<min(PTSend1,PTSend2),则确定所述第一同步时间点为所述目标最大值。
如果所述目标最大值大于或等于目标最小值,即max(PTSstart1,PTSstart2)≥min(PTSend1,PTSend2),则在接收到新的音频或视频数据后执行确定目标最大值的步骤,或者,在间隔预设时间后执行确定目标最大值的步骤。
在一些实施例中,基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤包括:
启动计时器;
判断所述计时器的时间是否达到预设时长;
如果所述计时器的时间未达到预设时长,确定目标最大值,所述目标最大值为所述第一数据队列中的第一帧数据时间戳与所述第二数据队列中第一帧数据时间戳中的最大值;
确定目标最小值,所述目标最小值为所述第一数据队列中的最后一帧数据时间戳与所述第二数据队列中最后一帧数据时间戳中的最小值;
判断所述目标最大值是否小于所述目标最小值;
如果所述目标最大值小于所述目标最小值,则确定所述第一同步时间点为所述目标最大值,关闭所述计时器。
如果所述目标最大值大于或等于目标最小值,则在接收到新的音频或视频数据后执行判断所述计时器的时间是否达到预设时长的步骤,或者,在间隔预设时间后执行判断所述计时器的时间是否达到预设时长的步骤。
如果所述计时器的时间达到预设时长,控制显示器显示提示页面,所述提示页面用于提示当前网络不佳,请切换其他视频或音频。
需要说明的是,在预设时长内目标最大值始终大于或等于目标最小值,说明可能是宽带通道的网络较长时间内都非常差,不能保证音频或视频的流畅下载,使得宽带下载总是追不上广播直播,因此建议用户选择广播通道的音频或视频。在预设时长内目标最大值始终大于或等于目标最小值,还有可能是宽带通道网络速度过快导致队列中的音频或视频数据过多,可能会将与广播通道对应的同步数据删除,使得广播直播总是慢于宽带下载。此时,可重新根据运营商服务器的通用协调时间拉取宽带通道的数据。
其中,在计时时间内,如果第一数据队列的数据帧数量超过帧数上限,则删除时间戳最早的帧数据。如果第二数据队列的数据帧数量超过帧数上限,则删除时间戳最早的帧数据。其中,每次删除帧数据的数量可以是一个或多个,如果是视频数据每次可删除一个画面组的数据。
如图13所示,目标最大值小于目标最小值包括效果一和效果二,第一同步时间点为目标最大值A点对应的时间点。目标最大值大于或等于目标最小值包括效果三和效果四,没有可以实现同步的时间点。
步骤S1105:将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。
在一些实施例中,将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器后,解码器将第一同步时间点的帧数据解码,并在解码完成后发送至渲染器,对解码后的音视频数据进行渲染和播放。同时,播放器的状态变更为playing(播放)状态。
在一些实施例中,经解码器解码之后的音视频数据帧渲染对齐。渲染同步是对解码之后的音视频数据同步显示。一般以音频帧PTS为基准,待显示的视频帧PTS和音频帧比较,调整视频帧的渲染时机,以达到人视觉和听觉可分辨范围内的同步:如果视频帧PTS大于音频PTS,(通过Repeat)延长前一帧视频帧的显示时间;如果视频帧PTS小于音频帧PTS,(通过Skip)加快视频帧显示)。解码同步是渲染同步的基础。当注入解码器的音视频数据偏差过大(例如音频和视频PTS相差5秒以上),渲染同步无法完成,要么音视频播放卡顿,要么音画明显不同步。
在一些实施例中,第一同步时间点对应的视频帧是关键帧,则直接将第一同步时间点对应的视频帧和音频帧数据发送至解码器。
在一些实施例中,第一同步时间点对应的视频帧不是关键帧,则确定目标关键帧,目标关键帧为所述第一同步时间点的前一个关键帧,将第一同步时间点的音频帧数据及目标关键帧及目标关键帧后的视频数据发送至解码器。其中,时间戳小于第一同步时间点的数据帧不参与渲染。
在一些实施例中,如果第一同步时间点为第一数据队列中的第一帧数据的显示时间戳,而在第二数据队列中并没有数据帧的显示时间戳与该第一同步时间点相同。此时,第二数据队列的帧数据显示时间戳满足以下条件:
PTS1≤PTS2<PTS1+N;
其中,PTS2为第二数据队列中第一同步时间点的帧数据的显示时间戳,PTS1为第一同步时间点,N为第一数据队列中数据帧间距。
例如:第一数据队列的帧间距为33ms,第二数据队列的帧间距为40ms,确定第一同步时间点为66ms,则第一数据队列中为66ms对应的帧数据,而第二数据队列中虽然并没有66ms的帧数据,但是采用以上公式,80ms的帧数据满足大于66ms小于99ms的条件,因此,第二数据队列中第一同步时间点对应的帧数据为80ms的帧数据。
在一些实施例中,在起播过程中,如果出现宽带通道发生网络阻塞异常后的情况。以第一媒体数据为视频数据,第二媒体数据为音频数据为例。
在接收到播放广播节目的指令后,如果接收到广播通道发送的视频数据并将视频数据保存至第一数据队列中,且未接收到宽带通道发送的音频数据,则继续接收广播通道发送的视频数据;
在一些实施例中,如果第一数据队列中的视频帧的数量超过总帧数上限,则将时间戳最早的关键帧对应的画面组数据删除。如果第一数据队列中的视频帧的数量未超过总帧数上限,继续接收广播通道发送的视频数据。
在一些实施例中,第一数据队列中的关键帧数量超过关键帧帧数上限,则将时间戳最早的关键帧对应的画面组数据删除。如果第一数据队列中的关键帧数量未超过关键帧帧数上限,继续接收广播通道发送的视频数据。
在一些实施例中,判断第一数据队列中最后一个视频帧是否为关键帧;
如果第一数据队列中最后一个视频帧为关键帧,则将所述关键帧之前的视频帧数据从第一数据队列中删除;
如果第一数据队列中最后一个视频帧不为关键帧,则继续接收广播通道发送的视频数据,执行判断第一数据队列中最后一个视频帧是否为关键帧的步骤。
本申请实施例可以在未接收到宽带通道发送的音频数据,且接收到广播通道的多个数据分段后,使得第一数据队列内只保留一个画面组数据,如图14所示,保证直播低延时性能。
在接收到宽带通道发送的音频数据后,将音频数据保存至第二数据队列中,执行所述基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
在一些实施例中,在起播过程中,如果出现由于恶劣天气等因素使得广播信息质量下降导致数据丢失的情况,以第一媒体数据为视频数据,第二媒体数据为音频数据为例。
在接收到播放广播节目的指令后,如果接收到宽带通道发送的音频数据并将音频数据保存至第二数据队列中,且未接收到广播通道发送的视频数据,则继续接收宽带通道发送的音频数据;
如果第二数据队列中的音频帧的数量超过帧数上限,将时间戳最早的音频帧数据删除。每次删除音频帧数据的数量可以是一个,也可以是多个。
在接收到广播通道发送的视频数据后,将视频数据保存至第一数据队列中,执行所述基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
在一些实施例中,在广播节目播放过程中,如果出现由于恶劣天气等因素使得广播信息质量下降导致数据丢失的情况,即如果未接收广播通道发送的第一媒体数据且所述第一数据队列中缓存数据为0,继续接收宽带通道发送的第二媒体数据并将所述第二媒体数据保存至第二数据队列中;
其中,当广播通道对应的数据队列中的所有缓存数据消耗完,等待接收新数据,将播放器标记为waiting(等待)状态,音视频均停止向解码器注入数据,保持显示设备的画面静帧,无声。静帧是指显示最后解码渲染完成的图像。等待状态期间,宽带通道继续拉流。
检测所述第二数据队列中的数据帧数是否超过帧数上限;
如果所述第二数据队列中的数据帧数超过帧数上限,将所述第二数据队列中时间戳最早的帧数据删除。
在一些实施例中,第二媒体数据为音频数据,当第二数据队列中的数据帧数超过帧数上限,删除预设数量的时间戳最早的音频帧数据,预设数量可以是一个,也可以是多个。
在一些实施例中,第二媒体数据为视频数据,可根据视频帧总数、关键帧数量等删除以画面组为单位的视频帧数据,上文已详细描述,在此不在赘述。
如果所述第二数据队列中的数据帧数未超过帧数上限,继续接收第二媒体数据并保存至第二数据队列中,执行检测所述第二数据队列中的数据帧数是否超过帧数上限的步骤。
在广播信号恢复后,即接收广播通道发送的第一媒体数据后,将所述第一媒体数据保存至第一数据队列中;
检测第一媒体数据是否发生数据跳变;
在一些实施例中,检测第一媒体数据是否发生数据跳变的步骤,包括:
确定当前第一数据队列中第一帧数据的显示时间戳与所述第一帧数据前一帧数据的显示时间戳的差值;其中,第一帧数据前一帧数据是指向解码器注入数据后解码器解码的最后数据帧。
判断所述差值是否大于两个最大帧间距;
如果所述差值大于或等于两个最大帧间距,则确定第一媒体数据发生数据跳变;
如果所述差值小于两个最大帧间距,则确定第一媒体数据未发生数据跳变。
如果检测到第一媒体数据发生数据跳变,则确定第二同步时间点为所述第一数据队列中的第一帧数据对应的时间戳;
将所述第一数据队列和所述第二数据队列中所述第二同步时间点的帧数据发送至解码器,以使所述解码器将所述第二同步时间点的帧数据解码。
将所述第一数据队列和所述第二数据队列中所述第二同步时间点的帧数据发送至解码器后,解码器将第二同步时间点的帧数据解码,并在解码完成后发送至渲染器,对解码后的音视频数据进行渲染和播放。同时,播放器的状态变更为playing(播放)状态。
在一些实施例中,如果检测到第一媒体数据发生数据跳变,执行基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
在一些实施例中,第一媒体数据为视频数据,第二媒体数据为音频数据时,如图15所示,在广播通道的视频帧丢帧(数据跳变)后,以接收到的第一个关键帧的显示时间戳为第二同步时间点,将第二同步时间点的音频帧数据与第一个关键帧数据发送至解码器解码。
在一些实施例中,第一媒体数据是音频数据,第二媒体数据是视频数据时,以接收到的第一个音频帧的显示时间戳为第二同步时间点,如果第二同步时间点的视频帧是关键帧,则可以直接将第二同步时间点对应的音视频数据注入解码器;如果第二同步时间点的视频帧不是关键帧,则确定目标关键帧,所述目标关键帧为所述第一数据队列中所述第一同步时间点的前一个关键帧;将所述目标关键帧及所述目标关键帧后的数据发送解码器,以及,将所述目标时间点的音频帧数据发送至解码器,其中,时间戳小于第一同步时间点的视频帧不参与渲染,如图16所示。
在一些实施例中,在广播节目播放过程中,如果出现由于网络阻塞异常的情况,即在广播节目播放过程中,如果未接收宽带通道发送的第二媒体数据且所述第二数据队列中缓存数据为0,继续接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中;
其中,网络阻塞导致宽带通道所对应的第二数据队列所有缓存数据消耗完,此时播放器标记为waiting状态,音视频均停止向解码器注入数据,保持显示设备画面静帧,无声。waiting状态期间,广播通道继续接收数据。
在接收到宽带通道发送的第二媒体数据后,将所述第二媒体数据保存至第二数据队列中;
在一些实施例中,判断第一数据队列的数据帧数是否达到帧数上限;
如果第一数据队列的数据帧数未达到帧数上限,将所述第一数据队列和所述第二数据队列中第一帧数据发送至解码器,以使所述解码器将所述第一帧数据解码。
需要说明的是,如果第一数据队列的数据帧数未达到帧数上限,说明第一数据队列未发生删除数据的操作,也就说明数据未发生跳变,可直接将第一数据队列和第二数据队列中第一帧数据发送至解码器即可。
在继续接收宽带通道发送的第二媒体数据时,如果所述第二数据队列中的数据帧数超过帧数上限,将所述第二数据队列中时间戳最早的帧数据删除。
在一些实施例中,第一媒体数据为音频数据,当第一数据队列中的数据帧数超过帧数上限,删除预设数量的时间戳最早的音频帧数据,预设数量可以是一个,也可以是多个。
在一些实施例中,第一媒体数据为视频数据,当第一数据队列中的数据帧数超过帧数上限,可删除第一数据队列中最后一个关键帧之前视频帧数据,只保留最后一个画面组的数据。
在删除第二数据队列中的帧数据时,播放器由waiting状态变更为seeking状态。
在一些实施例中,如果第一数据队列的数据帧数未到达帧数上限,则上限标志位为0;如果第一数据队列的数据帧数到达帧数上限,则上限标志位为1,并删除第一数据队列中时间戳最早的数据帧。可以通过上限标志位的数值来确定第一数据队列是否达到过帧数上限。
在接收到宽带通道发送的第二媒体数据后,如果第一数据队列的数据帧数达到过帧数上限,则根据当前本地系统时间,以及,服务器系统时间与本地系统时间的时间差计算运营商服务器的通用协调时间;接收宽带通道发送的从所述通用协调时间开始的第二媒体数据并将所述第二媒体数据保存至第二数据队列中;基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。解码器将第一同步时间点的帧数据解码,并在解码完成后发送至渲染器,对解码后的音视频数据进行渲染和播放。同时,播放器的状态变更为playing(播放)状态。
在一些实施例中,如果第一数据队列的数据帧数达到过帧数上限,可执行基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
在一些实施例中,在接收到宽带通道发送的第二媒体数据并将所述第二媒体数据保存至第二数据队列后,可直接执行检测第一媒体数据是否发生数据跳变的步骤。
在一些实施例中,混合场景播放基本功能模块图,如图17所示。广播通道是将接收到的信号通过解调(Demodulation)、ROUTE解包(Depacketization)得到MPD的信令信息和Media数据,将Media数据发送至解复用器(Demuxer),将MPD信令信息发送至MPD解析器(parser)。解复用器将Media数据解复用后保存至帧数据队列(Frame Buffer Queue)中,MPD解析器将解析信息发送至同步模块(Synchronization)。同步模块可根据当前运营商服务器的时间拉取对应的媒体数据流,客户端(HTTP Client)可通过网络接口(NetworkInterface)下载对应的数据,客户端将媒体数据发送至解复用器,解复用器将Media数据解复用后保存至帧数据队列中。同步模块可根据两个数据队列完成解码同步。
在一些实施例中,系统架构图如图18所示,Live TV(直播应用)向ATSC 3.0协议栈和播放器发起切台播放指令,ATSC 3.0协议栈执行锁频、解调制、解复用和过滤(demux/filter)、ROUTE解包(ROUTE Depacketization)操作后向ATSC 3.0持续输出包含MPD的信令信息和Media数据分段。ATSC 3.0播放器收到切台播放指令后立即将状态设置为seeking,收到MPD信令并判断出该节目包含IP通道音频或视频数据,通过网络客户端启动IP拉流(为得到Media数据分段)。广播通道Media数据分段和IP通道Media数据分段经过Demuxer模块解封装,得到ES Frame(基本帧)。将ES Frame放入帧数据队列缓存。两个帧数据队列中的数据同步之后注入后端解码器/渲染器(decoder/render)解码和显示。Synchronization模块负责Hybrid(混合)通道同步处理:通过重建运营商服务器时间,准确拉流,使Media分段数据基本同步;通过丢帧使Frame数据队列精准同步。
在一些实施例中,如图19所示,启动播放时播放器状态从Idle(空闲)变成Seeking,执行启动播放过程中同步操作(拉流同步和帧数据队列同步)后,状态变成Playing。播放过程中发生低水位,无数据,播放器状态变成Waiting,等待新数据。新数据到来后如果是连贯的,播放器恢复成Playing;如果数据有跳变,播放器状态又变成Seeking。其它任何状态下停止播放,播放器状态置成Idle。
本申请的一些实施例提供一种广播节目播放方法,所述方法适用于显示设备,显示设备包括显示器和控制器,控制器被配置为:响应于播放广播节目的指令,计算运营商服务器的通用协调时间;接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的从所述通用协调时间开始的第二媒体数据并将所述第二媒体数据保存至第二数据队列中,所述第一媒体数据与所述第二媒体数据的媒体类型不同,所述媒体类型包括音频和视频;基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。本申请实施例通过基于运营商服务器的通用协调时间实现精准拉取宽带通道的数据流,通过数据队列精确同步快速达到广播节目音画同步效果,提升用户体验。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器;
控制器,被配置为:
响应于播放广播节目的指令,计算运营商服务器的通用协调时间;
接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的从所述通用协调时间开始的第二媒体数据并将所述第二媒体数据保存至第二数据队列中,所述第一媒体数据与所述第二媒体数据的媒体类型不同,所述媒体类型包括音频和视频;
基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;
将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器执行基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点,被进一步配置为:
如果目标最大值小于目标最小值,则确定第一同步时间点为所述目标最大值,所述目标最大值为所述第一数据队列中的第一帧数据时间戳与所述第二数据队列中第一帧数据时间戳中的最大值,所述目标最小值为所述第一数据队列中的最后一帧数据时间戳与所述第二数据队列中最后一帧数据时间戳中的最小值。
3.根据权利要求1所述的显示设备,其特征在于,所述第一媒体数据的媒体类型为视频,所述第二媒体数据的媒体类型为音频,所述控制器,被配置为:
如果未接收到宽带通道发送的音频数据,继续接收广播通道发送的视频数据并将所述视频数据保存至第一数据队列中;
如果所述第一数据队列中的关键帧数量超过关键帧帧数上限,将时间戳最早的关键帧对应的画面组数据删除;
在接收到宽带通道发送的音频数据后,将所述音频数据保存至第二数据队列中,执行所述基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
4.根据权利要求1所述的显示设备,其特征在于,所述第一媒体数据的媒体类型为视频,所述第二媒体数据的媒体类型为音频,所述控制器,被配置为:
如果未接收到广播通道发送的视频数据,继续接收宽带通道发送的音频数据并将所述音频数据保存至第二数据队列中;
如果所述第二数据队列中的音频帧数超过帧数上限,将时间戳最早的音频帧数据删除;
在接收到广播通道发送的视频数据后,将视频数据保存至第一数据队列中,执行所述基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点的步骤。
5.根据权利要求1所述的显示设备,其特征在于,所述第一媒体数据的媒体类型为视频,所述第二媒体数据的媒体类型为音频,所述控制器执行将所述第一数据队列和所述第二数据队列中所述目标时间点的帧数据发送至解码器,被进一步配置为:
确定目标关键帧,所述目标关键帧为所述第一数据队列中所述第一同步时间点的前一个关键帧;
将所述目标关键帧及所述目标关键帧后的数据发送解码器,以及,将所述第一同步时间点的音频帧数据发送至解码器,其中,显示时间戳小于所述第一同步时间点的视频帧不参与渲染。
6.根据权利要求1所述的显示设备,其特征在于,所述控制器,被配置为:
在广播节目播放过程中,如果所述第一数据队列中缓存数据为0,继续接收宽带通道发送的第二媒体数据并将所述第二媒体数据保存至第二数据队列中;
在接收到广播通道发送的第一媒体数据后,将所述第一媒体数据保存至第一数据队列中;
如果检测到第一媒体数据发生数据跳变,则确定第二同步时间点为所述第一数据队列中的第一帧数据对应的时间戳;
将所述第一数据队列和所述第二数据队列中所述第二同步时间点的帧数据发送至解码器,以使所述解码器将所述第二同步时间点的帧数据解码。
7.根据权利要求6所述的显示设备,其特征在于,所述控制器,被配置为:
在继续接收宽带通道发送的第二媒体数据时,如果所述第二数据队列中的数据帧数超过帧数上限,将所述第二数据队列中时间戳最早的帧数据删除。
8.根据权利要求1所述的显示设备,其特征在于,所述控制器,被配置为:
在广播节目播放过程中,如果所述第二数据队列中缓存数据为0,继续接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中;
在接收到宽带通道发送的第二媒体数据后,将所述第二媒体数据保存至第二数据队列中;
如果第一数据队列的数据帧数未达到帧数上限,将所述第一数据队列和所述第二数据队列中第一帧数据发送至解码器,以使所述解码器将所述第一帧数据解码;
如果第一数据队列的数据帧数达到过帧数上限,则执行计算运营商服务器的通用协调时间的步骤。
9.根据权利要求8所述的显示设备,其特征在于,所述控制器,被配置为:
在继续接收广播通道发送的第一媒体数据时,如果所述第一数据队列中的数据帧数超过帧数上限,将所述第一数据队列中时间戳最早的帧数据删除。
10.一种广播节目播放方法,其特征在于,包括:
响应于播放节目的指令,计算运营商服务器的通用协调时间;
接收广播通道发送的第一媒体数据并将所述第一媒体数据保存至第一数据队列中,以及,接收宽带通道发送的所述通用协调时间对应的第二媒体数据并将所述第二媒体数据保存至第二数据队列中,所述第一媒体数据与所述第二媒体数据的媒体类型不同,所述媒体类型包括音频和视频;
基于所述第一数据队列和所述第二数据队列中的数据确定第一同步时间点;
将所述第一数据队列和所述第二数据队列中所述第一同步时间点的帧数据发送至解码器,以使所述解码器将所述第一同步时间点的帧数据解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310300886.0A CN117812330A (zh) | 2023-03-24 | 2023-03-24 | 一种显示设备及广播节目播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310300886.0A CN117812330A (zh) | 2023-03-24 | 2023-03-24 | 一种显示设备及广播节目播放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117812330A true CN117812330A (zh) | 2024-04-02 |
Family
ID=90434006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310300886.0A Pending CN117812330A (zh) | 2023-03-24 | 2023-03-24 | 一种显示设备及广播节目播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117812330A (zh) |
-
2023
- 2023-03-24 CN CN202310300886.0A patent/CN117812330A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2784641A1 (en) | User interface display method and device using same | |
KR20140004194A (ko) | 뷰 스위칭을 위한 방법 및 디바이스 | |
TWI735476B (zh) | 視聽接收裝置及其快速變換頻道之方法 | |
WO2020098504A1 (zh) | 一种视频切换的控制方法及显示设备 | |
CN111601135B (zh) | 一种音视频基本流同步注入的方法及显示设备 | |
CN112153446A (zh) | 一种显示设备及流媒体视频音画同步方法 | |
EP3151574A1 (en) | System and method for maintaining connection channel in multi-device interworking service | |
CN111601144B (zh) | 流媒体文件播放方法及显示设备 | |
CN114073098A (zh) | 流媒体同步方法及显示设备 | |
CN114257857B (zh) | 显示设备及视频倍速播放方法 | |
CN114827679A (zh) | 显示设备和音画同步方法 | |
CN113473194B (zh) | 一种智能设备及响应方法 | |
CN113596546B (zh) | 一种多流节目的播放方法及显示设备 | |
CN115623275A (zh) | 一种字幕显示方法及显示设备 | |
CN117812330A (zh) | 一种显示设备及广播节目播放方法 | |
CN115278323A (zh) | 一种显示设备、智能设备和数据处理方法 | |
CN111526414B (zh) | 一种字幕显示方法及显示设备 | |
CN113542765A (zh) | 一种媒体数据跳变续播方法及显示设备 | |
CN111629250A (zh) | 一种显示设备及视频播放方法 | |
CN114979736B (zh) | 显示设备和音画同步方法 | |
US10306298B2 (en) | Image processing apparatus and control method thereof | |
CN115174991B (zh) | 一种显示设备及视频播放方法 | |
CN117641024A (zh) | 一种显示设备及媒资数据显示方法 | |
CN117915139A (zh) | 一种显示设备及音画同步方法 | |
CN115604496A (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 |