CN117834983A - 一种播放缓冲确定方法和显示设备 - Google Patents

一种播放缓冲确定方法和显示设备 Download PDF

Info

Publication number
CN117834983A
CN117834983A CN202211213136.1A CN202211213136A CN117834983A CN 117834983 A CN117834983 A CN 117834983A CN 202211213136 A CN202211213136 A CN 202211213136A CN 117834983 A CN117834983 A CN 117834983A
Authority
CN
China
Prior art keywords
frame number
data stream
data
water level
frame
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
Application number
CN202211213136.1A
Other languages
English (en)
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 CN202211213136.1A priority Critical patent/CN117834983A/zh
Publication of CN117834983A publication Critical patent/CN117834983A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种播放缓冲确定方法及显示设备,显示设备包括:显示器被配置为显示用户界面。控制器被配置为:获取包括音频数据和视频数的注入数据。对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数。获取音频数据的注入帧数和视频数据的注入帧数。确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值。根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。通过注入帧和解码帧的差距来精准判断当前的播放情况,避免了PTS计算时因为B帧出现PTS回跳而导致的异常缓冲,提高了用户观看体验。

Description

一种播放缓冲确定方法和显示设备
技术领域
本申请涉及显示设备控制领域,尤其涉及一种播放缓冲确定方法和显示设备。
背景技术
随着流媒体技术的飞速发展以及网络带宽的不断提高,数字电视用户通过电视应用观看网络视频的需要也在不断提高。由于网络是存在波动的,当网络出现波动时,在播放网络视频时容易出现缓冲。
传统技术中播放网络视频的缓冲方案,一般是通过计算注入数据(注入数据包括视频和音频)的显示帧的显示时间戳(presentation time stamp,简称PTS)与注入帧的注入时间戳之间的目标差值,进而根据差值与预设缓冲水位阈值进行比较,确定是否进行缓冲。
然而,视频的注入数据在解码过程中需要先对注入数据中的帧内编码帧(intrapicture,简称I帧)和前向预测编码帧(predictive-frame,简称P帧)进行解码,将双向预测内插编码帧(bi-directional interpolated prediction frame,简称B帧)的解码推后,进而可能造成B帧对应的显示帧的PTS出现回跳,导致目标差值计算异常,造成缓冲异常,降低了用户的观看体验。
发明内容
本申请提供了一种播放缓冲确定方法和显示设备,以解决采用PTS差值计算方式时,由于B帧对应的显示帧的PTS出现回跳,导致目标差值计算异常,造成缓冲异常,降低了用户的观看体验的问题。
第一方面,本申请提供了一种显示设备,包括:显示器,被配置为显示用户界面;控制器,控制器被配置为:
获取注入数据;注入数据包括音频数据和视频数据;
对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数;
获取音频数据的注入帧数和视频数据的注入帧数;
确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值;
根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。
本申请一些实施例中,控制器被进一步配置为:
根据第一帧数差值和初始数据流水位阈值,确定音频数据的第一数据流水位状态;
根据第二帧数差值和初始数据流水位阈值,确定视频数据的第二数据流水位状态;
根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态。
本申请一些实施例中,控制器被进一步配置为:
若第一帧数差值小于初始数据流水位阈值中的第一初始阈值,则第一数据流水位状态为低水位;
若第一帧数差值大于初始数据流水位阈值中的第二初始阈值,则第一数据流水位状态为高水位;第二初始阈值大于第一初始阈值;
若第一帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第一数据流水位状态为中水位。
本申请一些实施例中,控制器被进一步配置为:
若第二帧数差值小于第一初始阈值,则第二数据流水位状态为低水位;
若第二帧数差值大于初始数据流水位阈值中的第二初始阈值,则第二数据流水位状态为高水位;
若第二帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第二数据流水位状态为高水位。
本申请一些实施例中,控制器还被配置为:
获取上一显示帧对应的第一数据流水位状态和第二数据流水位状态;
若当前显示帧的第一数据流水位状态与上一显示帧对应的第一数据流水位状态不同,
并且,若当前显示帧的第二数据流水位状态与上一显示帧对应的第二数据流水位状态不同,则执行根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态的步骤。
本申请一些实施例中,控制器被进一步配置为:
若第一数据流水位状态或第二数据流水位状态为低水位,则执行第一操作暂停当前显示帧进入缓冲状态;
若第一数据流水位状态和第二数据流水位状态均为高水位,则执行第二操作播放当前显示帧不进入缓冲状态;
若第一数据流水位状态和/或第二数据流水位状态为中水位,则保持上一显示帧对应的操作。
本申请一些实施例中,控制器还被配置为:
若第一数据流水位状态或第二数据流水位状态为低水位,获取注入数据帧率和数据传输速率;
根据注入数据帧率、数据传输速率、第一初始阈值和第二初始阈值,确定目标数据流水位阈值并替换初始数据流水位阈值。
本申请一些实施例中,控制器被进一步配置为:
若注入数据帧率大于数据传输速率,则根据注入数据帧率和数据传输速率,确定水位调整倍率;
将第一初始阈值与水位调整倍率相乘,确定目标数据流水位阈值的第一目标阈值;
将第一目标阈值与第一初始阈值作差后的结果与第二初始阈值相加,得到目标数据流水位阈值的第二目标阈值。
本申请一些实施例中,控制器还被配置为:
若未获取到注入数据,则在预设时刻到达时,重新执行确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值的步骤。
第二方面,本申请提供了一种播放缓冲确定方法,应用于显示设备,方法包括:
获取注入数据;注入数据包括音频数据和视频数据;
对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数;
获取音频数据的注入帧数和视频数据的注入帧数;
确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值;
根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。
第三方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可存储有程序,该程序执行时可实现包括本申请提供的播放缓冲确定方法各实施例中的部分或全部步骤。
本申请提供的一种播放缓冲确定方法和显示设备。该显示设备,包括:显示器,被配置为显示用户界面。控制器,控制器被配置为:获取包括音频数据和视频数的注入数据。对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数。获取音频数据的注入帧数和视频数据的注入帧数。确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值。根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。无需根据PTS差值的方式进行数据流水位的判断,而是通过注入帧和解码帧的差距来精准判断当前的播放情况,避免了PTS计算时因为B帧出现PTS回跳而导致的异常水位变化造成的异常缓冲,提高了用户观看体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的数据流显示顺序示意图;
图2示出了根据一些实施例的显示设备与控制装置之间操作场景的示意图;
图3示出了根据一些实施例的控制装置100的硬件配置框图;
图4示出了根据一些实施例的显示设备200的硬件配置框图;
图5示出了根据一些实施例的显示设备200中软件配置图;
图6示出了根据一些实施例的显示设备执行播放缓冲确定方法的第一种流程图;
图7示出了根据一些实施例的显示设备执行播放缓冲确定方法的第二种流程图;
图8示出了根据一些实施例的显示设备处于播放缓冲确定方法的第三种流程图;
图9示出了根据一些实施例的显示设备处于播放缓冲确定方法的第四种流程图;
图10示出了根据一些实施例的显示设备处于播放缓冲确定方法的第五种流程图;
图11示出了根据一些实施例的显示设备处于播放缓冲确定方法的时序流程图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
随着流媒体技术的飞速发展以及网络带宽的不断提高,数字电视用户通过电视应用观看网络视频的需要也在不断提高。由于网络是存在波动的,当用户网络出现波动时,网络播放就很容易出现缓冲。但是如果在网络波动时,出现频繁缓冲,就会使得用户观看体验非常的差,引起这个问题的基本都是缓冲机制上的缺陷。另外在网络较好时候,也可能出现突然性的异常缓冲,这往往是缓冲判断逻辑异常导致的。当前已知的播放缓冲方案基本都是依赖播放时间和数据帧PTS的差距来判断,但是由于B帧的存在,就会导致数据帧中的PTS异变,从而出现异常缓冲。
如图1所示为数据流的显示顺序,推流顺序,PTS顺序的对应关系。其中PTS表示该帧显示的时间,由于B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中“找出(算出)”预测值并与差值求和,得到B帧“某点”样值,从而可得到完整的B帧。就像图1所示,因为PTS为2的B帧,解码依赖后面的PTS为4的P帧,因此会优先送P帧去解码,然后再送B帧解码,就会出现PTS突然从4跳回2的情况,这样就容易触发水位判断异常。
为了减少缓冲带来的影响,提升平台用户的观看体验,优化缓冲机制是必不可少的。基于此,本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、智能电视、电脑、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。图2和图3为本申请的显示设备的一种具体实施方式。
图2示出了根据一些实施例的显示设备与控制装置之间操作场景的示意图。如图2所示,用户可通过终端设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用终端设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在终端设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备可以不使用上述的终端设备或控制设备接收指令,而是通过触摸或者手势等接收用户的控制。
在一些实施例中,显示设备200还可以采用除了控制装置100和终端设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图3示出了根据一些实施例的控制装置100的硬件配置框图。如图3所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起到用户与显示设备200之间交互中介作用。
图4示出了根据一些实施例的显示设备200的硬件配置框图。如图4,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。
显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。
用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、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等可视的界面元素。
图5示出了根据一些实施例的显示设备200中软件配置图。在一些实施例中,如图5所示,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
如图5所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。在一些实施例中,显示设备的系统还包括UI层(图中未示出),UI层位于应用层的上方,UI层接收应用层的数据传输,以实现显示器260的画面呈现。
应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
在一些实施例中,显示设备200可以播放自身提供的数据流,还可通过投屏或镜像的方式接收终端设备300发送的数据流。显示设备200包括采用不同的模式播放数据流,例如,正常模式和音频模式。在正常模式下,显示设备200的显示器260呈亮屏状态,由显示器260播放数据流的视频数据,由音频输出接口270将音频数据输出至本机扬声器或外接音频输出装置进行播放。在音频模式下,显示设备200的显示器260呈黑屏状态,显示器260中不展示视频数据,仅由音频输出接口270将音频数据输出至本机扬声器或外接音频输出装置进行播放。
在显示设备200处于音频模式播放数据流的过程中,如果用户再次投屏播放其他数据流,现有的显示设备200依然会以音频模式播放该新播放的数据流。那么在新播放的数据流为视频时,仍处于音频模式的显示设备200的显示器260仍然为黑屏状态,无法通过显示器260播放新投屏数据流中的视频数据,导致用户无法观看到视频内容,用户体验感比较差。
为保证处于音频模式的显示设备200在播放其他数据流时能够及时点亮显示器260,以通过显示器260呈现视频画面,本申请一些实施例提供一种显示设备200,在音频模式下,如果接收到终端设备300发送的数据流时,可以对显示器260的状态进行控制,使得在需要显示视频画面时能够及时点亮显示器260。
图6示出了根据一些实施例的显示设备执行播放缓冲确定方法的第一种流程图。本申请一些实施例提供一种显示设备200,包括:显示器260,被配置为显示用户界面。控制器250被配置为执行下述步骤:
步骤502,获取注入数据;注入数据包括音频数据和视频数据。
具体地,当进行视频播放时,显示设备可以获取服务器发送的播放视频的注入数据。
步骤504,对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数。
具体地,当得到注入数据时,可以通过解码器对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数。也可以理解为如图1所示对注入数据解码得到的推流顺序。
步骤506,获取音频数据的注入帧数和视频数据的注入帧数。
具体地,获取音频数据的注入帧数和视频数据的注入帧数,也可以理解为如图1所示的显示顺序对应的帧数。
步骤508,确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值。
具体地,将当前显示帧对应的音频数据的解码帧数与注入帧数进行作差,得到第一帧数差值。并且将当前显示帧对应的视频数据的解码帧数与注入帧数进行作差,得到第一帧数差值。
示例地,若当前显示帧为图1所示的显示顺序中P帧,则对应的音频数据的解码帧数为2,对应的注入帧数为显示顺序中的4,则差值为2。对应的视频数据与音频数据一致。
步骤510,根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。
具体地,可以将一帧数差值、第二帧数差值分别与预设的初始数据流水位阈值进行比较,根据比较结果确定出当前显示帧的缓冲状态。
在本申请实施例中,显示设备,包括:显示器,被配置为显示用户界面。控制器,控制器被配置为:获取包括音频数据和视频数的注入数据。对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数。获取音频数据的注入帧数和视频数据的注入帧数。确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值。根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。无需根据PTS差值的方式进行数据流水位的判断,而是通过注入帧和解码帧的差距来精准判断当前的播放情况,避免了PTS计算时因为B帧出现PTS回跳而导致的异常水位变化造成的异常缓冲,提高了用户观看体验。
作为一些可选择的实施例中,如图7所示,控制器执行步骤510时,被进一步配置为:
步骤5101,根据第一帧数差值和初始数据流水位阈值,确定音频数据的第一数据流水位状态。
其中,初始数据流水位阈值可以为一个预设固定水位阈值,也可以为包括两个不同阈值的初始数据流水位阈值。
具体地,若第一帧数差值小于预设固定水位阈值,则第一数据流水位状态为低水位。若第一帧数差值大于预设固定水位阈值,则第一数据流水位状态为高水位。
可选地,若第一帧数差值等于预设固定水位阈值,则第一数据流水位状态为中水位。
作为另一种可实现的实施例,步骤5010,具体包括:
步骤5010a,若第一帧数差值小于初始数据流水位阈值中的第一初始阈值,则第一数据流水位状态为低水位;
步骤5010b,若第一帧数差值大于初始数据流水位阈值中的第二初始阈值,则第一数据流水位状态为高水位;第二初始阈值大于第一初始阈值;
步骤5010c,若第一帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第一数据流水位状态为中水位。
在本申请实施例中,通过将第一帧数差值和初始数据流水位阈值进行比较,确定音频数据的第一数据流水位状态。能够确定在不同情况下,数据流的水位情况,进而可以根据水位情况确定出缓冲状态。并且,通过设置中水位的判断机制,引入了一个缓冲阶段,避免出现突然高水位然后又立马低水位的频繁跳变。
步骤5102,根据第二帧数差值和初始数据流水位阈值,确定视频数据的第二数据流水位状态。
具体地,若第二帧数差值小于预设固定水位阈值,则第二数据流水位状态为低水位。若第二帧数差值大于预设固定水位阈值,则第二数据流水位状态为高水位。
作为另一种可实现的实施例,步骤5012,具体包括:
步骤5012a,若第二帧数差值小于第一初始阈值,则第二数据流水位状态为低水位。
步骤5012b,若第二帧数差值大于初始数据流水位阈值中的第二初始阈值,则第二数据流水位状态为高水位。
步骤5012c,若第二帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第二数据流水位状态为中水位。
在本申请实施例中,通过将第二帧数差值和初始数据流水位阈值进行比较,确定视频数据的第二数据流水位状态。能够确定在不同情况下,数据流的水位情况,进而可以根据水位情况确定出缓冲状态。并且,通过设置中水位的判断机制,引入了一个缓冲阶段,避免出现突然高水位然后又立马低水位的频繁跳变。
步骤5103,根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态。
具体地,若第一数据流水位状态和第二数据流水位状态同时为低水位时,确定当前显示帧进入缓冲状态。
具体地,步骤S5013,具体包括:
步骤5013a,若第一数据流水位状态或第二数据流水位状态为低水位,则执行第一操作暂停当前显示帧进入缓冲状态。
步骤5013b,若第一数据流水位状态和第二数据流水位状态均为高水位,则执行第二操作播放当前显示帧不进入缓冲状态。
步骤5013c,若第一数据流水位状态和/或第二数据流水位状态为中水位,则保持上一显示帧对应的操作。
需要说明的是,当第一数据流水位状态和/或第二数据流水位状态为中水位,上一显示帧为播放,即不进入缓冲状态,则保持播放状态。若上一显示帧为暂停,即进入缓冲状态,则保持缓冲。
在本申请实施例中,通过根据音频数据和视频数据的水位状态,综合判断当前显示帧是否需要进行缓冲,并且设置中水位的判断机制,引入了一个缓冲阶段,避免出现突然高水位然后又立马低水位的频繁跳变。
作为一种可以选择的实施例,在步骤5103之前,如图8所示,还可以包括:
步骤602,获取上一显示帧对应的第一数据流水位状态和第二数据流水位状态。
具体地,当确定了当前数据流的水位情况后,若想要更准确的对缓冲状态进行调整,还可以进一步调整设置的初始数据流水位阈值,以实现动态调整,能够更准确的进行调整。基于此,可以获取存储在本地或者服务器的上一显示帧对应的第一数据流水位状态和第二数据流水位状态。
步骤604,若当前显示帧的第一数据流水位状态与上一显示帧对应的第一数据流水位状态不同,并且,若当前显示帧的第二数据流水位状态与上一显示帧对应的第二数据流水位状态不同,则执行根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态的步骤。
具体地,若当前显示帧的第一数据流水位状态与上一显示帧对应的第一数据流水位状态不同,并且,若当前显示帧的第二数据流水位状态与上一显示帧对应的第二数据流水位状态不同,则再进一步根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态。能够仅在水位与上一显示帧的水位情况发生变化时,进行缓冲状态的调整,不至于每次判断水位时都进行调整,减少资源消耗。
作为另一种可选择的实施例,还可以在水位状态实时调整初始数据流水位阈值。如图9所示,播放缓冲确定方法还包括:
步骤702,若第一数据流水位状态或第二数据流水位状态为低水位,获取注入数据帧率和数据传输速率。
步骤704,根据注入数据帧率、数据传输速率、第一初始阈值和第二初始阈值,确定目标数据流水位阈值并替换初始数据流水位阈值。
其中,注入数据帧率和数据传输速率均可以在解码器对播放视频进行解码时获取。
具体地,当第一数据流水位状态或第二数据流水位状态均为低水位,获取注入数据帧率和数据传输速率。利用预设的数据流水位阈值计算公式,确定出标数据流水位阈值并替换初始数据流水位阈值。在下次进行水位判断时,则可以采用目标数据流水位阈值进行判断。
进一步地,步骤704,如图10所示,具体包括:
步骤7042,若注入数据帧率大于数据传输速率,则根据注入数据帧率和数据传输速率,确定水位调整倍率。
步骤7044,将第一初始阈值与水位调整倍率相乘,确定目标数据流水位阈值的第一目标阈值。
步骤7046,将第一目标阈值与第一初始阈值作差后的结果与第二初始阈值相加,得到目标数据流水位阈值的第二目标阈值。
在本实施例中,可以根据注入数据帧率、数据传输速率以及第一初始阈值、第二初始阈值,确定出目标据流水位阈值,以实现动态修改水位阈值。由于帧率代表了片源刷新图片的速率,当数据传输速率大于帧率,则说明数据充裕,能正常播放。当数据传输速率小于帧率,说明数据有可能出现不够的情况,这时候容易出现缓冲现象,为了减少频繁缓冲,我们会重新设置一个水位,增大缓冲区,以此保证播放的平滑。另外正常播放时是不需要频繁调整水位的,因此我们只需要在触发了缓冲条件的情况下进行该动作。
作为另一种可选择的实施例,播放缓冲确定方法还包括:
若未获取到注入数据,则在预设时刻到达时,重新执行确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值的步骤。
需要说明的是,注入数据是有可能出现断流的,因此在无数据注入时,需要自主查询当前的播放状态,并触发水位判断逻辑。
具体地,若未获取到注入数据,则在预设时刻到达时,重新确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值,并重新判断水位情况后,判断当前显示帧的缓冲状态。
在本申请实施例中,能够在数据断流时自主触发水位查询,以确保程序的正常运行。
为了便于本领域技术人员的理解,现已一个整体时序图对播放缓冲确定方法进行说明。如图11所示,比方缓冲确定方法具体包括:
S11,获取注入数据(音频数据和视频数据)。
S12,对注入数据进行解码,确定出音频数据和视频数据。
S13,获取音频数据的注入帧数和视频数据的注入帧数,确定出当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值。
S14,判断第一帧数差值是否小于第一初始阈值或者大于第二初始阈值,确定音频数据的数据流水位状态。
S15,若第一帧数差值小于初始数据流水位阈值中的第一初始阈值,则第一数据流水位状态为低水位。
S16,若第一帧数差值大于初始数据流水位阈值中的第二初始阈值,则第一数据流水位状态为高水位;第二初始阈值大于第一初始阈值。
S17,若第一帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第一数据流水位状态为中水位。
S18,判断第二帧数差值是否小于第一初始阈值或者大于第二初始阈值,确定视频数据的数据流水位状态。
S19,若第二帧数差值小于第一初始阈值,则第二数据流水位状态为低水位。
S20,若第二帧数差值大于初始数据流水位阈值中的第二初始阈值,则第二数据流水位状态为高水位。
S21,若第二帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第二数据流水位状态为中水位。
S22,获取上一显示帧对应的第一数据流水位状态和第二数据流水位状态。
S23,判断上一显示帧对应的第一数据流水位状态与当前显示帧的第一数据流水位状态是否相同;以及上一显示帧对应的第二数据流水位状态与当前显示帧的第二数据流水位状态是否相同。
S24,若均不同,则判断视频数据的数据流水位状态和音频数据的数据流水位状态是否相同;
S25,若第一数据流水位状态或第二数据流水位状态为低水位,则执行第一操作暂停当前显示帧进入缓冲状态。
S26,若第一数据流水位状态和第二数据流水位状态均为高水位,则执行第二操作播放当前显示帧不进入缓冲状态。
S27,若第一数据流水位状态和/或第二数据流水位状态为中水位,则保持上一显示帧对应的操作。
S28,若第一数据流水位状态或第二数据流水位状态为低水位,获取注入数据帧率和数据传输速率。
S29,判断注入数据帧率是否大于数据传输速率。
S30,若注入数据帧率大于数据传输速率,则根据注入数据帧率和数据传输速率,确定水位调整倍率。将第一初始阈值与水位调整倍率相乘,确定目标数据流水位阈值的第一目标阈值。将第一目标阈值与第一初始阈值作差后的结果与第二初始阈值相加,得到目标数据流水位阈值的第二目标阈值。
基于相同的发明构思,本申请一些实施例提供一种播放缓冲确定方法,应用于显示设备200,方法包括:
获取注入数据;注入数据包括音频数据和视频数据;
对注入数据进行解码,得到音频数据的解码帧数和视频数据的解码帧数;
获取音频数据的注入帧数和视频数据的注入帧数;
确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值;
根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态。
在一个实施例中,根据第一帧数差值、第二帧数差值以及预设的初始数据流水位阈值,确定当前显示帧的缓冲状态,包括:
根据第一帧数差值和初始数据流水位阈值,确定音频数据的第一数据流水位状态;
根据第二帧数差值和初始数据流水位阈值,确定视频数据的第二数据流水位状态;
根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态。
在一个实施例中,根据第一帧数差值和初始数据流水位阈值,确定音频数据的第一数据流水位状态,包括:
若第一帧数差值小于初始数据流水位阈值中的第一初始阈值,则第一数据流水位状态为低水位;
若第一帧数差值大于初始数据流水位阈值中的第二初始阈值,则第一数据流水位状态为高水位;第二初始阈值大于第一初始阈值;
若第一帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第一数据流水位状态为中水位。
在一个实施例中,根据第二帧数差值和初始数据流水位阈值,确定视频数据的第二数据流水位状态,包括:
若第二帧数差值小于第一初始阈值,则第二数据流水位状态为低水位;
若第二帧数差值大于初始数据流水位阈值中的第二初始阈值,则第二数据流水位状态为高水位;
若第二帧数差值大于等于第一初始阈值且小于等于第二初始阈值,则第二数据流水位状态为高水位。
在一个实施例中,播放缓冲确定方法,还包括:
获取上一显示帧对应的第一数据流水位状态和第二数据流水位状态;
若当前显示帧的第一数据流水位状态与上一显示帧对应的第一数据流水位状态不同,
并且,若当前显示帧的第二数据流水位状态与上一显示帧对应的第二数据流水位状态不同,则执行根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态的步骤。
在一个实施例中,根据第一数据流水位状态和第二数据流水位状态,确定当前显示帧的缓冲状态,包括:
若第一数据流水位状态或第二数据流水位状态为低水位,则执行第一操作暂停当前显示帧进入缓冲状态;
若第一数据流水位状态和第二数据流水位状态均为高水位,则执行第二操作播放当前显示帧不进入缓冲状态;
若第一数据流水位状态和/或第二数据流水位状态为中水位,则保持上一显示帧对应的操作。
在一个实施例中,播放缓冲确定方法,还包括:
若第一数据流水位状态或第二数据流水位状态为低水位,获取注入数据帧率和数据传输速率;
根据注入数据帧率、数据传输速率、第一初始阈值和第二初始阈值,确定目标数据流水位阈值并替换初始数据流水位阈值。
在一个实施例中,根据注入数据帧率、数据传输速率、第一初始阈值和第二初始阈值,确定目标数据流水位阈值并替换初始数据流水位阈值,包括:
若注入数据帧率大于数据传输速率,则根据注入数据帧率和数据传输速率,确定水位调整倍率;
将第一初始阈值与水位调整倍率相乘,确定目标数据流水位阈值的第一目标阈值;
将第一目标阈值与第一初始阈值作差后的结果与第二初始阈值相加,得到目标数据流水位阈值的第二目标阈值。
在一个实施例中,播放缓冲确定方法,还包括:
若未获取到注入数据,则在预设时刻到达时,重新执行确定当前显示帧对应的音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的视频数据的解码帧数与注入帧数之间的第二帧数差值的步骤。
上述实施例提供的浏览器视频显示方法的实现原理和有益效果,可以参见上文中对于显示设备各实施例的限定,在此不再赘述。
具体实现中,本发明还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时可包括本发明提供的播放缓冲确定方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品可以存储在计算机可读存储介质中。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于播放缓冲确定方法实施例而言,由于其基本相似于显示设备200和终端设备300实施例,所以描述的比较简单,相关之处参见显示设备200和终端设备300实施例中的说明即可。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释本公开内容,从而使得本领域技术人员更好的使用所述实施方式。

Claims (10)

1.一种显示设备,其特征在于,包括:
显示器,被配置为显示用户界面;
控制器,所述控制器被配置为:
获取注入数据;所述注入数据包括音频数据和视频数据;
对所述注入数据进行解码,得到所述音频数据的解码帧数和所述视频数据的解码帧数;
获取所述音频数据的注入帧数和所述视频数据的注入帧数;
确定当前显示帧对应的所述音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的所述视频数据的解码帧数与注入帧数之间的第二帧数差值;
根据所述第一帧数差值、所述第二帧数差值以及预设的初始数据流水位阈值,确定所述当前显示帧的缓冲状态。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
根据所述第一帧数差值和所述初始数据流水位阈值,确定所述音频数据的第一数据流水位状态;
根据所述第二帧数差值和所述初始数据流水位阈值,确定所述视频数据的第二数据流水位状态;
根据所述第一数据流水位状态和所述第二数据流水位状态,确定所述当前显示帧的缓冲状态。
3.根据权利要求2所述的显示设备,其特征在于,所述控制器被进一步配置为:
若所述第一帧数差值小于所述初始数据流水位阈值中的第一初始阈值,则所述第一数据流水位状态为低水位;
若所述第一帧数差值大于所述初始数据流水位阈值中的第二初始阈值,则所述第一数据流水位状态为高水位;所述第二初始阈值大于所述第一初始阈值;
若所述第一帧数差值大于等于所述第一初始阈值且小于等于第二初始阈值,则所述第一数据流水位状态为中水位。
4.根据权利要求3所述的显示设备,其特征在于,所述控制器被进一步配置为:
若所述第二帧数差值小于所述第一初始阈值,则所述第二数据流水位状态为低水位;
若所述第二帧数差值大于所述初始数据流水位阈值中的第二初始阈值,则所述第二数据流水位状态为高水位;
若所述第二帧数差值大于等于所述第一初始阈值且小于等于第二初始阈值,则所述第二数据流水位状态为中水位。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器还被配置为:
获取上一显示帧对应的第一数据流水位状态和第二数据流水位状态;
若所述当前显示帧的第一数据流水位状态与所述上一显示帧对应的第一数据流水位状态不同,
并且,若所述当前显示帧的第二数据流水位状态与所述上一显示帧对应的第二数据流水位状态不同,则执行所述根据所述第一数据流水位状态和所述第二数据流水位状态,确定所述当前显示帧的缓冲状态的步骤。
6.根据权利要求5所述的显示设备,其特征在于,所述控制器被进一步配置为:
若所述第一数据流水位状态或所述第二数据流水位状态为低水位,则执行第一操作暂停所述当前显示帧进入缓冲状态;
若所述第一数据流水位状态和所述第二数据流水位状态均为高水位,则执行第二操作播放所述当前显示帧不进入缓冲状态;
若所述第一数据流水位状态和/或所述第二数据流水位状态为中水位,则保持上一显示帧对应的操作。
7.根据权利要求6所述的显示设备,其特征在于,所述控制器还被配置为:
若所述第一数据流水位状态或所述第二数据流水位状态为低水位,获取注入数据帧率和数据传输速率;
根据所述注入数据帧率、所述数据传输速率、所述第一初始阈值和所述第二初始阈值,确定目标数据流水位阈值并替换所述初始数据流水位阈值。
8.根据权利要求7所述的显示设备,其特征在于,所述控制器被进一步配置为:
若所述注入数据帧率大于所述数据传输速率,则根据所述注入数据帧率和所述数据传输速率,确定水位调整倍率;
将所述第一初始阈值与所述水位调整倍率相乘,确定所述目标数据流水位阈值的第一目标阈值;
将所述第一目标阈值与所述第一初始阈值作差后的结果与所述第二初始阈值相加,得到所述目标数据流水位阈值的第二目标阈值。
9.根据权利要求1-8任一项所述的显示设备,其特征在于,所述控制器还被配置为:
若未获取到所述注入数据,则在预设时刻到达时,重新执行所述确定当前显示帧对应的所述音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的所述视频数据的解码帧数与注入帧数之间的第二帧数差值的步骤。
10.一种播放缓冲确定方法,应用于显示设备,其特征在于,所述方法包括:
获取注入数据;所述注入数据包括音频数据和视频数据;
对所述注入数据进行解码,得到所述音频数据的解码帧数和所述视频数据的解码帧数;
获取所述音频数据的注入帧数和所述视频数据的注入帧数;
确定当前显示帧对应的所述音频数据的解码帧数与注入帧数之间的第一帧数差值,以及当前显示帧对应的所述视频数据的解码帧数与注入帧数之间的第二帧数差值;
根据所述第一帧数差值、所述第二帧数差值以及预设的初始数据流水位阈值,确定所述当前显示帧的缓冲状态。
CN202211213136.1A 2022-09-29 2022-09-29 一种播放缓冲确定方法和显示设备 Pending CN117834983A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211213136.1A CN117834983A (zh) 2022-09-29 2022-09-29 一种播放缓冲确定方法和显示设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211213136.1A CN117834983A (zh) 2022-09-29 2022-09-29 一种播放缓冲确定方法和显示设备

Publications (1)

Publication Number Publication Date
CN117834983A true CN117834983A (zh) 2024-04-05

Family

ID=90504568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211213136.1A Pending CN117834983A (zh) 2022-09-29 2022-09-29 一种播放缓冲确定方法和显示设备

Country Status (1)

Country Link
CN (1) CN117834983A (zh)

Similar Documents

Publication Publication Date Title
CN114302190B (zh) 一种显示设备及画质调整方法
CN111901654A (zh) 一种显示设备及屏幕录制方法
CN112153447B (zh) 一种显示设备及音画同步控制方法
CN112601117B (zh) 显示设备和内容展示方法
CN112422365A (zh) 显示设备及自动监测网络状态的方法
CN112954376A (zh) 一种视频播放方法及显示设备
CN113630654B (zh) 显示设备及媒资片源推送方法
CN112601109A (zh) 音频播放方法及显示设备
CN114095769A (zh) 一种应用级播放器的直播低延迟处理方法及显示设备
CN112040297B (zh) 一种epg页面的翻页方法及显示设备
CN117834983A (zh) 一种播放缓冲确定方法和显示设备
CN114007119A (zh) 视频播放方法及显示设备
CN112836158A (zh) 显示设备上的资源加载方法及显示设备
CN112367550A (zh) 一种媒资列表多标题动态展示的实现方法及显示设备
CN115174991B (zh) 一种显示设备及视频播放方法
CN113350781B (zh) 一种显示设备及游戏模式切换方法
US20230412890A1 (en) Refreshing method and display apparatus
CN113709557B (zh) 一种音频输出的控制方法及显示设备
CN117939213A (zh) 显示设备、多窗口显示方法及存储介质
CN117971086A (zh) 显示设备和悬浮窗口显示方法
CN117834972A (zh) 一种浏览器视频显示方法和显示设备
CN112883302A (zh) 一种显示超链接地址对应页面的方法及显示设备
CN116939295A (zh) 一种显示设备及动态调节控制器使用率的方法
CN113660532A (zh) 一种多网页的视频播放方法及显示设备
CN116264604A (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