远程视频显示方法及系统与流程

文档序号:11157726阅读:523来源:国知局
远程视频显示方法及系统与制造工艺

本发明涉及视频处理技术领域,特别是涉及一种远程视频显示方法及系统。



背景技术:

随着通信技术的飞速发展,远程视频会议、本地传屏演示等视频处理技术已得到广泛应用,如商显整机使用无线传屏模块演示个人PC的PPT报告,给人们的生活和工作带来很大的便捷。

现有技术中远程视频显示方案是通过设定固定的参数,以固定的间隔对接收到的远程视频数据进行解码,再对解码的数据进行显示,受限于系统API,送码和解码是串行的,每次送码后都尝试解码,每次解码都在固定的时间等待解码结果。这就导致现有方案的解码效率较低,当远程视频传输不稳定时(如因网络不流畅引起的视频数据时多时少),该方案依旧使用固定的间隔解码,会导致两种不利的情况:

第一种情况,数据量大时,解码器繁忙,位于后面的数据等待到解码机会的时间较长,从本地接收到数据到最终显示到屏幕的时间因此也会变长,结果就是画面显示延迟较大;

第二种情况,数据量小时,由于每次解码以固定的时间等待解码结果,不能保证每次都能在该时间内等待到解码结果,当这种情况发生时,由于送码和解码是串行的,必须等待下一次送码后才能尝试获取解码结果,也就说下一次尝试获取解码结果时,获取到的结果其实是上一次送码的结果,这样也会导致一个数据帧到最终解码显示的时间比较长,最终导致画面显示出现延迟。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种远程视频显示方法,解决数据量大或数据量小时出现画面延迟的问题。

根据本发明实施例的远程视频显示方法,包括:

当根据已送进解码器的数据帧的数量判断到所述解码器处于繁忙状态时,抛弃部分数据帧,并对剩余的数据帧进行解码;

在预设的等待时间后,检查是否成功获取到解码结果;

若否,则延长等待时间,并返回所述检查是否成功获取解码结果的步骤,直至成功获取到解码结果为止。

根据本发明实施例的视频显示方法,通过判断当前解码器的解码状态对数据帧进行动态调整,在解码器繁忙时适时减少解码数据量,减轻解码器负担,及时解码最新数据,此外,数据量较少时,加大等待解码结果的时间,轮询解码结果,能够保证在下一轮送码前能解码出当前数据帧,画面延迟小,解码效率较高。

另外,根据本发明上述实施例的远程视频显示方法,还可以具有如下附加的技术特征:

进一步地,在本发明的一个实施例中,所述根据已送进解码器的数据帧的数量判断到所述解码器处于繁忙状态的步骤具体包括:

根据已送进解码器的数据帧自带的时间戳制作列表,所述列表中的数据帧和时间戳一一对应;

将所述列表中数据帧的数量与所述解码器中预设的第一数据帧数量阈值进行对比;

若所述列表中数据帧的数量大于等于所述第一数据帧数量阈值,则判断所述解码器处于繁忙状态。

进一步地,在本发明的一个实施例中,所述在预设的等待时间后检查是否成功获取到解码结果的步骤之后,所述方法还包括:

若是,则根据所述解码器的解码结果更新所述列表;

检查更新后的列表中是否还有未解码的数据帧;

若是,则尝试获取该未解码的数据帧的解码结果。

进一步地,在本发明的一个实施例中,所述延长等待时间的步骤具体包括:

根据尚未解码成功的数据帧的数量判断是延长等待时间还是开始下一轮的送码;

若所述尚未解码成功的数据帧的数量大于等于所述解码器中预设的第二数据帧数量阈值,则将延长等待时间。

进一步地,在本发明的一个实施例中,所述根据所述解码器的解码结果更新所述列表的步骤具体包括:

将当前已解码的数据帧从所述列表中删除,同时删除所述列表中所有比所述当前已解码的数据帧对应的时间戳早的数据帧。

本发明的另一个目的在于提出一种远程视频显示系统,解决数据量大或数据量小时出现画面延迟的问题。

根据本发明实施例的远程视频显示系统,包括:

判断模块,用于根据已送进解码器的数据帧的数量判断所述解码器的繁忙状态;

抛弃模块,用于在所述判断模块判断到所述解码器处于繁忙状态时,对部分数据帧进行抛弃处理,所述抛弃模块抛弃部分数据帧后,所述解码器对剩余的数据帧进行解码;

第一检查模块,用于在预设的等待时间后,检查是否成功获取到解码结果;

延长等待模块,用于在所述第一检查模块在预设的等待时间后检查到未成功获取到解码结果时,延长所述第一检查模块的等待时间;

所述延长等待模块延长等待时间后,所述第一检查模块继续检查是否成功获取解码结果,直至成功获取到解码结果为止。

另外,根据本发明上述实施例的远程视频显示系统,还可以具有如下附加的技术特征:

进一步地,在本发明的一个实施例中,所述判断模块包括制作模块、对比模块和第一判断子模块;

所述制作模块用于根据已送进解码器的数据帧自带的时间戳制作列表,所述列表中的数据帧和时间戳一一对应;

所述对比模块用于将所述列表中数据帧的数量与所述解码器中预设的第一数据帧数量阈值进行对比;

所述第一判断子模块用于在所述对比模块对比到所述列表中数据帧的数量大于等于所述第一数据帧数量阈值时,判断所述解码器处于繁忙状态。

进一步地,在本发明的一个实施例中,所述系统还包括:

更新模块,用于在所述第一检查模块在预设的等待时间后检查到成功获取到解码结果时,根据所述解码器的解码结果更新所述列表;

第二检查模块,用于在所述更新模块更新后的列表中检查是否还有未解码的数据帧;

尝试获取模块,用于在所述第二检查模块检查到更新后的列表中还有未解码的数据帧时,尝试获取该未解码的数据帧的解码结果。

进一步地,在本发明的一个实施例中,所述延长等待模块包括第二判断子模块和延长子模块;

所述第二判断子模块用于在所述第一检查模块在预设的等待时间后检查到未成功获取到解码结果时,根据尚未解码成功的数据帧的数量判断是延长等待时间还是开始下一轮的送码;

所述延长子模块用于在所述判断子模块判断到所述尚未解码成功的数据帧的数量大于等于所述解码器中预设的第二数据帧数量阈值时,延长等待时间。

进一步地,在本发明的一个实施例中,所述更新模块包括删除子模块;

所述删除子模块用于将当前已解码的数据帧从所述列表中删除,同时删除所述列表中所有比所述当前已解码的数据帧对应的时间戳早的数据帧。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一实施例的视频显示方法的流程图;

图2是根据本发明另一实施例的视频显示方法的流程图;

图3是根据本发明一实施例的视频显示系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明一实施例提出的视频显示方法,至少包括以下步骤:

S101,当根据已送进解码器的数据帧的数量判断到所述解码器处于繁忙状态时,抛弃部分数据帧,并将剩余的数据帧进行解码;

其中,通过判断当前解码器的解码状态对数据帧进行动态调整,在解码器繁忙时适时减少解码数据量,减轻解码器负担,及时解码最新数据。

S102,在预设的等待时间后,检查是否成功获取到解码结果;

即在固定的时间段获取解码结果,检查是否能够成功获取到解码结果。

S103,若否,则延长等待时间,并返回所述检查是否成功获取解码结果的步骤,直至成功获取到解码结果为止。

其中,步骤S103能够保证在数据量较少、且在固定的时间无法获取到解码结果时,通过对尚未解码成功的数据帧轮询解码结果,加大等待解码结果的时间,保证在下一轮送码前能解码出当前数据帧,画面延迟小,解码效率较高。

根据本发明实施例的视频显示方法,能够保证在不管数据量大时还是在数据量小时,都能确保解码效率,减少画面延迟。

请参阅图2,本发明另一实施例提出的视频显示方法,至少包括以下步骤:

S201,根据已送进解码器的数据帧的数量判断解码器是否处于繁忙状态;

具体实施时,所述根据已送进解码器的数据帧的数量判断解码器是否处于繁忙状态的步骤具体包括:

根据已送进解码器的远程视频中数据帧自带的时间戳制作列表,所述列表中的数据帧和时间戳一一对应;

本实施例中,所述时间戳具体可以为显示时间戳(PTS,Presentation Time Stamp),即某时刻应该显示对应数据帧的画面,所述列表中的数据帧和时间戳一一对应指所述列表中的数据帧通过其特定的时间戳进行标示,所述列表中的数据帧只包括已送码且未解码的数据帧。

将所述列表中数据帧的数量与所述解码器中预存的第一数据帧数量阈值进行对比;

具体实施例时,所述解码器中预先设有第一数据帧数量阈值,该第一数据帧数量阈值可以根据要显示的远程视频的数据帧的大小和处理难度进行设置,也可以通过大数据进行分析确定。

若所述列表中数据帧的数量大于等于所述第一数据帧数量阈值,则判断所述解码器处于繁忙状态。

可以理解的,若所述列表中数据帧的数量小于所述第一数据帧数量阈值,则判断所述解码器处于非繁忙状态,该非繁忙状态可以为正常状态,即数据量正常,不多也不少;也可以为数据量较少的状态。

S202,若是,则抛弃部分数据帧,并对剩余的数据帧进行解码;

其中,抛弃部分数据帧即指对该部分数据帧不再进行解码处理,此时,被抛弃的该部分数据帧不会再保留在所述列表中,抛弃的数据帧的具体数量和种类,可以根据数据帧的总量、数据帧的重要程度、解码器的处理能力、某一数据帧解码的难易程度等条件进行确定,例如,若其中一个数据帧解码难度大,或其中一个数据帧数据量大,不易解码,又或其中一个数据帧不重要,则可以将上述几种数据帧进行抛弃,而对其它数据帧进行解码,以保证视频传输的可靠性。

S203,若否,则直接对已送进解码器的数据帧进行解码;

其中,若解码器不处于繁忙状态,即包括正常状态和数据量较少的状态,此时都会直接对已送进解码器的数据帧进行解码。

S204,在预设的等待时间后,检查是否成功获取到解码结果;

其中,步骤S202或步骤203完成后都会进行步骤S204,步骤S204可以根据现有技术,在固定的时间间隔下从所述解码器获取解码结果,检查是否能够成功获取到解码结果。

S205,若是,则根据所述解码器的解码结果更新所述列表;

其中,步骤S205具体包括以下步骤:

若是,将当前已解码的数据帧从所述列表中删除,同时删除所述列表中所有比所述当前已解码的数据帧对应的时间戳早的数据帧。

具体实施时,若检查到已成功获取到所述解码器的解码结果,则将当前已解码的数据帧及其对应的时间戳从所述列表中删除,例如,当前解码的数据帧对应的时间戳为1分50秒,此时,则将1分50秒对应的数据帧所述列表中删除,同时,将1分50秒以前的所有时间戳对应的数据帧也从所述列表中删除,因为1分50秒以前的时间戳对应的数据帧对远程视频传输的意义不大,不需要再对这些数据帧进行解码,从而进一步减轻解码器的负担。

S206,检查更新后的列表中是否还有未解码的数据帧;

其中,在步骤S205之后,执行步骤S206,检查更新后的列表中是否还有未解码的数据帧。

S207,若是,则尝试获取该未解码的数据帧的解码结果;

可以理解的,若否,即所述列表中已经没有未解码的数据帧,此时流程结束。

在步骤S204,可能会执行步骤S208;

S208,若否,则延长等待时间,并返回所述检查是否成功获取解码结果的步骤;

即,检查到未成功获取到所述解码器的解码结果时,延长等待解码结果的时间,此时情形应用于现有技术中数据量小时,且又无法在固定的时间内等待到解码结果的情况。

若检查到未成功获取到所述解码器的解码结果,则延长等待时间,延长等待时间后,在返回所述检查是否成功获取解码结果的步骤,即轮询解码结果,直至成功获取到解码结果为止,保证在下一轮送码前能解码出当前数据帧。

其中,该步骤S208中延长等待时间的步骤具体包括以下步骤:

根据尚未解码成功的数据帧的数量判断是延长等待时间还是开始下一轮的送码;

若所述尚未解码成功的数据帧的数量大于等于所述解码器中预设的第二数据帧数量阈值,则将延长等待时间。

其中,所述解码器还预先预设第二数据帧数量阈值,若所述尚未解码成功的数据帧的数量大于等于所述解码器中预存的第二数据帧数量阈值,表明此时需要解码的数据帧较多,需要对尚未解码成功的数据帧继续尝试获取解码结果,从而保证能够得出解码结果。可以理解的,当所述尚未解码成功的数据帧的数量小于所述解码器中预存的第二数据帧数量阈值,且此时又接到新的数据帧时,则表明此时需要解码的数据帧不多,因此可以优先处理新的数据帧,对新的数据帧进行送码、解码。

此外,在具体实施时,步骤S207中,尝试获取该未解码的数据帧的解码结果指在预设的等待时间后,检查是否成功获取到解码结果,如果能够获取到解码结果则结束流程,如果未能获取到解码结果,则也会延长等待时间,并继续尝试获取该未解码的数据帧的解码结果。

根据本发明上述实施例的视频显示方法,通过判断当前解码器的解码状态对数据帧进行动态调整,在解码器繁忙时适时减少解码数据量,减轻解码器负担,及时解码最新数据,此外,数据量较少时,加大等待解码结果的时间,轮询解码结果,能够保证在下一轮送码前能解码出当前数据帧,画面延迟小,解码效率较高。

请参阅图3,基于同一发明构思,本发明一实施例提出的远程视频显示系统,包括:

判断模块,用于根据已送进解码器的数据帧的数量判断所述解码器的繁忙状态;

抛弃模块,用于在所述判断模块判断到所述解码器处于繁忙状态时,对部分数据帧进行抛弃处理,所述抛弃模块抛弃部分数据帧后,所述解码器对剩余的数据帧进行解码;

可以理解的,若所述判断模块判断到所述解码器处于非繁忙状态时,所述解码器直接对已送码的数据帧进行解码;

第一检查模块,用于在预设的等待时间后,检查是否成功获取到解码结果;

延长等待模块,用于在所述第一检查模块在预设的等待时间后检查到未成功获取到解码结果时,延长所述第一检查模块的等待时间;

所述延长等待模块延长等待时间后,所述第一检查模块继续检查是否成功获取解码结果,直至成功获取到解码结果为止。

本实施例中,所述判断模块包括制作模块、对比模块和第一判断子模块;

所述制作模块用于根据已送进解码器的数据帧自带的时间戳制作列表,所述列表中的数据帧和时间戳一一对应;

所述对比模块用于将所述列表中数据帧的数量与所述解码器中预设的第一数据帧数量阈值进行对比;

所述第一判断子模块用于在所述对比模块对比到所述列表中数据帧的数量大于等于所述第一数据帧数量阈值时,判断所述解码器处于繁忙状态。

本实施例中,所述系统还包括:

更新模块,用于在所述第一检查模块在预设的等待时间后检查到成功获取到解码结果时,根据所述解码器的解码结果更新所述列表;

第二检查模块,用于在所述更新模块更新后的列表中检查是否还有未解码的数据帧;

尝试获取模块,用于在所述第二检查模块检查到更新后的列表中还有未解码的数据帧时,尝试获取该未解码的数据帧的解码结果。

本实施例中,所述延长等待模块包括第二判断子模块和延长子模块;

所述第二判断子模块用于在所述第一检查模块在预设的等待时间后检查到未成功获取到解码结果时,根据尚未解码成功的数据帧的数量判断是延长等待时间还是开始下一轮的送码;

所述延长子模块用于在所述判断子模块判断到所述尚未解码成功的数据帧的数量大于等于所述解码器中预设的第二数据帧数量阈值时,延长等待时间。

可以理解的,当所述第二判断子模块判断到尚未解码成功的数据帧的数量小于所述解码器中预存的第二数据帧数量阈值,且此时又接到新的数据帧时,则表明此时需要解码的数据帧不多,因此可以优先处理新的数据帧,对新的数据帧进行送码、解码。

本实施例中,所述更新模块包括删除子模块;

所述删除子模块用于将当前已解码的数据帧从所述列表中删除,同时删除所述列表中所有比所述当前已解码的数据帧对应的时间戳早的数据帧。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1