CN103546802A - 动态调整缓存的方法及显示终端 - Google Patents
动态调整缓存的方法及显示终端 Download PDFInfo
- Publication number
- CN103546802A CN103546802A CN201310481938.5A CN201310481938A CN103546802A CN 103546802 A CN103546802 A CN 103546802A CN 201310481938 A CN201310481938 A CN 201310481938A CN 103546802 A CN103546802 A CN 103546802A
- Authority
- CN
- China
- Prior art keywords
- size
- spatial cache
- video
- decoding
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种动态调整缓存的方法及显示终端,包括以下步骤:当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值是否大于一预设值,获取一判断结果;若判断结果为否,则当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小;若判断结果均为是,则根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小,再根据所述视频帧的大小调整各个解码缓存空间的大小,本发明能够减少无线传输的视频丢包、丢帧及减少视频延时。
Description
技术领域
本发明涉及显示终端数据缓存技术领域,尤其涉及一种动态调整缓存的方法及显示显示终端。
背景技术
随着无线技术的普及,各种连接线材的使用大大减少,用户可以通过无线的方式将手机或电脑直接与电视进行连接,在电视上分享手机或电脑的影像。
目前通过无线方式传送的方式较多,如三星的ALLSHARE、苹果的AIRPLAY、TCL的多屏互动以及INTEL的WIDI技术等。WIDI(Intel WirelessDisplay,无线高清技术)是通过WIFI信号来实现智能终端和显示设备的无线连接,只要搭载了INTEL的I系列的CPU(如i3、i5、i7)以及INTEL的无线显卡,智能终端就能够通过无线接收适配器与显示设备例如电视进行无线连接。
电视在接收通过WIDI技术传送视频影像的时候,一般会将其先放置于一缓存中,再进行进一步的处理。该缓存的大小一般是固定不变的,而视频内容变化频繁,数据量较大且较多。如果缓存区域设置的太小,接收的视频数据又太大时,电视还没有来得及处理上一视频数据,下一视频数据又过来了,则会将上一视频数据丢弃,从而引发视频丢包或丢帧;而如果缓存区域设置的太大,接收的视频数据又很小时,则会有较多的视频数据在缓冲区中未到视频显示区域,产生视频延时。
发明内容
本发明的主要目的在于提供一种动态调整缓存的方法及显示终端,旨在减少无线传输的视频丢包、丢帧及减少视频延时。
为了达到上述目的,本发明提出一种动态调整缓存的方法,包括以下步骤:
当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;
判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值是否大于一预设值,获取一判断结果;
若判断结果为否,则当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小;若判断结果均为是,则根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小,再根据所述视频帧的大小调整各个解码缓存空间的大小。
优选地,所述当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小的步骤之前包括:
预先在显示终端中设置不同大小的接收缓存空间,并根据各个所述接收缓存空间的大小设置对应大小的解码缓存空间。
优选地,所述根据所述视频包的大小调整各个接收缓存空间的大小的步骤包括:
读取所述视频包的包头,获取所述视频包的大小;
依次比较所述视频包的大小与最大的接收缓存空间的大小及最小的接收缓存空间的大小;
若连续N个视频包的大小在最大的接收缓存空间的大小范围内时,或者,若连续N个视频包的大小在最小的接收缓存空间的大小范围内时,则根据所述视频包的大小调整各个接收缓存空间的大小,其中,N为大于0的整数。
优选地,所述根据所述视频帧的大小调整各个解码缓存空间的大小的步骤包括:
将所述视频包组合成视频帧,获取所述视频帧的大小;
依次比较所述视频帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小;
若连续M帧视频帧的大小在最大的解码缓存空间的大小范围内时,或者,若连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,则根据所述视频帧的大小调整各个解码缓存空间的大小,其中,M为大于0的整数。
优选地,该方法还包括:对所述视频帧进行解码,获取解码后的视频数据并显示。
本发明还提供一种显示终端,包括接收缓存调整模块、判断模块、第一解码缓存调整模块及第二解码缓存调整模块,其中,
所述接收缓存调整模块,用于当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;
所述判断模块,用于判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值大于一预设值;
所述第一解码缓存调整模块,用于若判断结果为否,则当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小;所述第二解码缓存调整模块,用于若判断结果均为是,则根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小。
优选地,还包括设置模块,用于预先在显示终端中设置不同大小的接收缓存空间,并根据各个所述接收缓存空间的大小设置对应大小的解码缓存空间。
优选地,所述接收缓存调整模块包括读取单元、第一比较单元及第一调整单元,其中,
读取单元,用于读取所述视频包的包头,获取所述视频包的大小;
第一比较单元,用于依次比较所述视频包的大小与最大的接收缓存空间的大小及最小的接收缓存空间的大小;
第一调整单元,用于若连续N个视频包的大小在最大的接收缓存空间的大小范围内时,或者,若连续N个视频包的大小在最小的接收缓存空间的大小范围内时,则根据所述视频包的大小调整各个接收缓存空间的大小,其中,N为大于0的整数。
优选地,所述第一解码缓存调整模块包括组合单元、第二比较单元及第二调整单元,其中,
组合单元,用于将所述视频包组合成视频帧,获取所述视频帧的大小;
第二比较单元,用于依次比较所述视频帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小;
第二调整单元,用于若连续M帧视频帧的大小在最大的解码缓存空间的大小范围内时,或者,若连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,则根据所述视频帧的大小调整各个解码缓存空间的大小,其中,M为大于0的整数。
优选地,还包括显示模块,用于对所述视频帧进行解码,获取解码后的视频数据并显示。
本发明的动态调整缓存的方法及显示终端,预设不同大小的接收缓存空间及不同大小的解码缓存空间,当显示终端在接收到视频包时,根据视频包的大小调整各个接收缓存空间的大小,以减少视频丢包及减少视频延时;当当前视频包的大小大于上一次接收的视频包的大小且两者的差值大于一预设值时,可预先根据各个接收缓存空间的大小调整各个解码缓存空间的大小,防止视频包的大小突然变大而解码接收缓存空间来不及作调整;当将视频包处理为视频帧后,根据视频帧的大小调整各个解码缓存空间的大小,以减少丢帧及减少视频延时。
附图说明
图1是本发明动态调整缓存的方法第一实施例的流程示意图;
图2是本发明动态调整缓存的方法第二实施例的流程示意图;
图3是图2所示调整接收缓存空间的大小的流程示意图;
图4是图2所示根据视频帧的大小调整解码缓存空间的大小的流程示意图;
图5是本发明显示终端第一实施例的结构示意图;
图6是本发明显示终端第二实施例的结构示意图;
图7是图6所示接收缓存调整模块的结构示意图;
图8是图6所示第一解码缓存调整模块的结构示意图。
为了使发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
具体地,如图1所示,本发明一实施例提出一种动态调整缓存的方法,包括:
步骤S101,当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;
其中,各个接收缓存空间已预先设置或使用默认的接收缓存空间,当显示终端通过无线高清技术接收到视频包时,先将视频包传送至接收缓存中,然后再将其处理为视频帧。
本实施例中,接收缓存空间主要用来缓冲通过无线传送过来的视频包,由于所接收的视频包大小会依据视频的内容不同而变化,并且视频数据需要很快显示,则该接收缓存空间应该设置合适的大小,即不能过大,也不能过小。
如果接收缓存空间的大小固定不变而接收的视频包的大小变化,则容易引起丢包或延时。本实施例根据所接收的视频包的大小及时调整接收缓存空间的大小,可避免丢包或延时。
步骤S102,判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值是否大于一预设值,获取一判断结果;
由于接收缓存空间的大小已经根据所接收的视频包的大小及时调整,如果所接收的视频包的大小突然变大很多,则需要预先调整解码接收缓存空间的大小,防止视频包的大小突然变大而解码接收缓存空间来不及作调整。
判断当前接收的视频包的大小是否大于上一次接收的视频包的大小,且当前接收的视频包的大小与上一次接收的视频包的大小的差值是否大于一预设值。其中,该预设值的取值适当。
若上述判断结果均为是,则进入步骤S103,再进入步骤S104;若判断结果为否,则直接进入步骤S104。
步骤S103,根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小。
其中,若当前接收的视频包的大小大于上一次接收的视频包的大小,且当前接收的视频包的大小与上一次接收的视频包的大小的差值大于一预设值时,根据当前接收的视频包调整各个接收缓存空间的大小,再根据各个接收缓存空间的大小调整各个解码缓存空间的大小,至此,可以防止视频包的大小突然变大而解码接收缓存空间来不及作调整的情况的发生。
步骤S104,当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小。
其中,各个解码缓存空间已预先设置或使用默认的解码缓存空间,当显示终端将视频包处理为视频帧后,先将视频帧传送至解码缓存中,然后再进行解码处理。
本实施例中,视频帧的大小会依据视频的内容不同而变化,并且视频数据需要很快显示,该解码缓存空间应该设置合适的大小,即不能过大,也不能过小。
如果解码缓存空间的大小固定不变而接收的视频帧的大小变化,则容易引起丢帧或延时。本实施例根据所接收的视频帧的大小及时调整解码缓存空间的大小,可避免丢帧或延时。
如图2所示,本发明另一实施例提出一种动态调整缓存的方法,在上述图1实施例的基础上,在步骤S101之前还包括步骤S100,在步骤S104之后还包括步骤S105:
步骤S100,预先在显示终端中设置不同大小的接收缓存空间,并根据各个所述接收缓存空间的大小设置对应大小的解码缓存空间。
在显示终端中设置不同大小的接收缓存空间,或者也可将一个缓存空间划分为不同的区域,用于缓存通过无线传送过来的视频包,例如分别设置小于1k、2k、3k、4k、5k以及大于5k的接收缓存空间。当接收的视频包大小为0.5k时,将该视频包存于小于1k的接收缓存空间中;当接收的视频包大小为6k时,将该视频包存于大于5k的接收缓存空间中。
由于从接收缓存空间取出视频包将其处理成一帧一帧的图像,因此接收缓存空间的大小也可以动态的反应出下一帧图像的大小。当显示终端在做当前帧的解码的时候,接收缓存空间中已经开始接收下一帧图像的视频包,可根据下一帧图像的视频包需要的接收缓存空间提前调整好解码缓存空间,以防止下一帧图像的大小的突然变化。
视频包的大小一般小于视频帧的大小,可根据各个接收缓存空间的大小设置对应的不同大小的解码缓存空间,解码缓存空间用于缓存视频帧,如果各个接收缓存空间分别为小于1k、2k、3k、4k、5k以及大于5k,可初步对应设置各个解码缓存空间为小于0.5M、1M、1.5M、2M、2.5M以及大于2.5M,当视频帧大小为0.7M时,将该视频帧存于1M的解码缓存空间中。
步骤S105,对所述视频帧进行解码,获取解码后的视频数据并显示。
显示终端从解码缓存空间取出视频帧,并对该视频帧进行解码,将解码后的视频数据进行显示。
本实施例中,可以设置一SOC(System on Chip,系统级芯片),负责整体视频数据传输的调度,以控制传输流程的执行。
具体的,如图3所示,上述步骤S101调整接收缓存空间的大小的步骤包括:
步骤S1011,读取所述视频包的包头,获取所述视频包的大小;
步骤S1012,依次比较所述视频包的大小与最大的接收缓存空间的大小及最小的接收缓存空间的大小;
步骤S1013,判断是否连续N个视频包的大小在最大的接收缓存空间的大小范围内,或者,是否连续N个视频包的大小在最小的接收缓存空间的大小范围内,若是,则进入步骤S1014,否则进入步骤S1015,其中,N为大于0的整数;
步骤S1014,根据视频包的大小调整各个接收缓存空间的大小;
步骤S1015,保持各个接收缓存空间的大小不变。
当显示终端接收到视频包后,通过读取该视频包的包头来取该视频包的大小,将该数据包的大小与预先设置的最大的接收缓存空间的大小及最小的接收缓存空间的大小进行比较。如果连续N个视频包的大小在最大的接收缓存空间的大小范围内或连续N个视频包的大小在最小的接收缓存空间的大小范围内时,可对各个接收缓存空间的大小进行调整。
其中,N为一先验值,可根据所设置的接收缓存空间的数量及各个接收缓存空间的大小进行设置。例如当各个接收缓存空间设置为上述的小于1k、2k、3k、4k、5k以及大于5k时,N可取值为3,如果N值过大,则达不到及时调整的效果,如果N值过小,则各个接收缓存空间的大小的调整过于频繁。
若各个接收缓存空间设置为小于1k、2k、3k、4k、5k以及大于5k,连续3次接收到的视频包为6k、7k及8k时,可确定连续3个视频包的大小在最大的接收缓存空间的大小范围内,此时,对各个接收缓存空间的大小进行调整,例如当视频包的大小变大时,可根据其增幅对每个接收缓存空间的大小在原来的基础上增加10%或者15%。
如图4所示,上述步骤S104根据视频帧的大小调整解码缓存空间的大小的步骤包括:
步骤S1041,将所述视频包组合成视频帧,获取所述视频帧的大小;
步骤S1042,依次比较所述视频帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小;
步骤S1043,判断是否连续M个视频帧的大小在最大的解码缓存空间的大小范围内,或者,是否连续M个视频帧的大小在最小的解码缓存空间的大小范围内,若是,则进入步骤S1044,否则进入步骤S1045,其中,M为大于0的整数;
步骤S1044,根据视频帧的大小调整各个解码缓存空间的大小;
步骤S1045,保持各个解码缓存空间的大小不变。
当显示终端将视频包组合成视频帧后,获取该视频帧的大小,将该数据帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小进行比较。如果连续M个视频帧的大小在最大的解码缓存空间的大小范围内或者连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,可对各个解码缓存空间的大小进行调整。其中,M为一先验值,可根据所设置的解码缓存空间的数量及各个解码缓存空间的大小进行设置。例如当各个解码缓存空间设置为上述的小于0.5M、1M、1.5M、2M、2.5M以及大于2.5M时,M可取值为3,如果M值过大,则达不到及时调整的效果,如果M值过小,则各个解码缓存空间的大小的调整过于频繁。
若各个解码缓存空间设置为小于0.5M、1M、1.5M、2M、2.5M以及大于2.5M,所接收视频帧为3M、4M及5M时,可确定连续3帧视频帧的大小在最大的解码缓存空间的大小范围内,此时,对各个解码缓存空间的大小进行调整,例如当视频帧的大小变大时,可根据其增幅对每个解码缓存空间的大小在原来的基础上增加10%或者20%。
如图5所示,图5是本发明显示终端第一实施例的结构示意图,显示终端包括接收缓存调整模块101、判断模块102及第一解码缓存调整模块104及第二解码缓存调整模块103,其中,
接收缓存调整模块101,用于当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;
其中,各个接收缓存空间已预先设置或使用默认的接收缓存空间,当显示终端通过无线高清技术接收到视频包时,先将视频包传送至接收缓存中,然后再将其处理为视频帧。
本实施例中,接收缓存空间主要用来缓冲通过无线传送过来的视频包,由于所接收的视频包大小会依据视频的内容不同而变化,并且视频数据需要很快显示,则该接收缓存空间应该设置合适的大小,即不能过大,也不能过小。
如果接收缓存空间的大小固定不变而接收的视频包的大小变化,则容易引起丢包或延时。本实施例的接收缓存调整模块101根据所接收的视频包的大小及时调整接收缓存空间的大小,可避免丢包或延时。
判断模块102,用于判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值是否大于一预设值,获取一判断结果;
由于接收缓存调整模块101已经根据所接收的视频包的大小及时调整接收缓存空间的大小,如果所接收的视频包的大小突然变大很多,则需要预先调整解码接收缓存空间的大小,防止视频包的大小突然变大而解码接收缓存空间来不及作调整。
判断模块102判断当前接收的视频包的大小是否大于上一次接收的视频包的大小,且当前接收的视频包的大小与上一次接收的视频包的大小的差值是否大于一预设值。其中,该预设值的取值适当。
第二解码缓存调整模块103,用于若判断结果均为是,则根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小,再根据所述视频帧的大小调整各个解码缓存空间的大小。
其中,若当前接收的视频包的大小大于上一次接收的视频包的大小,且当前接收的视频包的大小与上一次接收的视频包的大小的差值大于一预设值时,第二解码缓存调整模块103根据当前接收的视频包调整各个接收缓存空间的大小,再根据各个接收缓存空间的大小调整各个解码缓存空间的大小,至此,可以防止视频包的大小突然变大而解码接收缓存空间来不及作调整的情况的发生。
第一解码缓存调整模块104,用于若判断结果为否,则当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小。
其中,各个解码缓存空间已预先设置或使用默认的解码缓存空间,当显示终端将视频包处理为视频帧后,先将视频帧传送至解码缓存中,然后再进行解码处理。
本实施例中,视频帧的大小会依据视频的内容不同而变化,并且视频数据需要很快显示,该解码缓存空间应该设置合适的大小,即不能过大,也不能过小。
如果解码缓存空间的大小固定不变而接收的视频帧的大小变化,则容易引起丢帧或延时。本实施例的第一解码缓存调整模块104根据所接收的视频帧的大小及时调整解码缓存空间的大小,可避免丢帧或延时。
如图6所示,图6是本发明显示终端第二实施例的结构示意图,在上述图5的实施例的基础上,本实施例的显示终端还包括设置模块100及显示模块105,其中:
设置模块100,用于预先在显示终端中设置不同大小的接收缓存空间,并根据各个所述接收缓存空间的大小设置对应大小的解码缓存空间。
设置模块100设置不同大小的接收缓存空间,或者也可将一个缓存空间划分为不同的区域,用于缓存通过无线传送过来的视频包,例如分别设置小于1k、2k、3k、4k、5k以及大于5k的接收缓存空间。当接收的视频包大小为0.5k时,将该视频包存于小于1k的接收缓存空间中;当接收的视频包大小为6k时,将该视频包存于大于5k的接收缓存空间中。
由于从接收缓存空间取出视频包将其处理成一帧一帧的图像,因此接收缓存空间的大小也可以动态的反应出下一帧图像的大小。当显示终端在做当前帧的解码的时候,接收缓存空间中已经开始接收下一帧图像的视频包,可根据下一帧图像的视频包需要的接收缓存空间提前调整好解码缓存空间,以防止下一帧图像的大小的突然变化。
视频包的大小一般小于视频帧的大小,可根据各个接收缓存空间的大小设置对应的不同大小的解码缓存空间,解码缓存空间用于缓存视频帧,如果各个接收缓存空间分别为小于1k、2k、3k、4k、5k以及大于5k,可初步对应设置各个解码缓存空间为小于0.5M、1M、1.5M、2M、2.5M以及大于2.5M,当视频帧大小为0.7M时,将该视频帧存于1M的解码缓存空间中。
显示模块105,用于对所述视频帧进行解码,获取解码后的视频数据并显示。
显示模块105从解码缓存空间取出视频帧,并对该视频帧进行解码,将解码后的视频数据进行显示。
本实施例中,可以设置一SOC(System on Chip,系统级芯片),负责与各个模块进行视频数据传输的调度。
具体的,如图7所示,上述接收缓存调整模块101包括读取单元1011、第一比较单元1012及第一调整单元1013,其中:
读取单元1011,用于读取所述视频包的包头,获取所述视频包的大小;
第一比较单元1012,用于依次比较所述视频包的大小与最大的接收缓存空间的大小及最小的接收缓存空间的大小;
第一调整单元1013,用于若连续N个视频包的大小在最大的接收缓存空间的大小范围内时,或者,是否连续N个视频包的大小在最小的接收缓存空间的大小范围内,则根据所述视频包的大小调整各个接收缓存空间的大小,其中,N为大于0的整数。
当接收到视频包后,读取单元1011通过读取该视频包的包头来取该视频包的大小,第一比较单元1012将该数据包的大小与预先设置的最大的接收缓存空间的大小及最小的接收缓存空间的大小进行比较。如果连续N个视频包的大小在最大的接收缓存空间的大小范围内或连续N个视频包的大小在最小的接收缓存空间的大小范围内时,第一调整单元1013可对各个接收缓存空间的大小进行调整,否则,保持各个接收缓存空间的大小不变。
其中,N为一先验值,可根据所设置的接收缓存空间的数量及各个接收缓存空间的大小进行设置。例如当各个接收缓存空间设置为上述的小于1k、2k、3k、4k、5k以及大于5k时,N可取值为3,如果N值过大,则达不到及时调整的效果,如果N值过小,则各个接收缓存空间的大小的调整过于频繁。
若各个接收缓存空间设置为小于1k、2k、3k、4k、5k以及大于5k,连续3次接收到的视频包为6k、7k及8k时,可确定连续3个视频包的大小在最大的接收缓存空间的大小范围内,此时,对各个接收缓存空间的大小进行调整,例如当视频包的大小变大时,可根据其增幅对每个接收缓存空间的大小在原来的基础上增加10%或者15%。
如图8所示,上述第一解码缓存调整模块104包括组合单元1041、第二比较单元1042及第二调整单元1043,其中:
组合单元1041,用于将所述视频包组合成视频帧,获取所述视频帧的大小;
第二比较单元1042,用于依次比较所述视频帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小;
第二调整单元1043,用于若连续M帧视频帧的大小在最大的解码缓存空间的大小范围内或者,是否连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,则根据所述视频帧的大小调整各个解码缓存空间的大小,其中,M为大于0的整数。
当组合单元1041将视频包组合成视频帧后,获取该视频帧的大小,第二比较单元1042将该数据帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小进行比较。如果连续M个视频帧的大小在最大的解码缓存空间的大小范围内或者连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,第二调整单元1043可对各个解码缓存空间的大小进行调整,否则,保持各个解码缓存空间的大小不变。
其中,M为一先验值,可根据所设置的解码缓存空间的数量及各个解码缓存空间的大小进行设置。例如当各个解码缓存空间设置为上述的小于0.5M、1M、1.5M、2M、2.5M以及大于2.5M时,M可取值为3,如果M值过大,则达不到及时调整的效果,如果M值过小,则各个解码缓存空间的大小的调整过于频繁。
若各个解码缓存空间设置为小于0.5M、1M、1.5M、2M、2.5M以及大于2.5M,所接收视频帧为3M、4M及5M,可确定连续3帧视频帧的大小在最大的解码缓存空间的大小范围内,此时,对各个解码缓存空间的大小进行调整,例如当视频帧的大小变大时,可根据其增幅对每个解码缓存空间的大小在原来的基础上增加10%或者20%。
通过上面的描述可以看出:本发明的动态调整缓存的方法及显示终端,预设不同大小的接收缓存空间及不同大小的解码缓存空间,当显示终端在接收到视频包时,比较得出视频包的大小在最大的接收缓存空间的大小范围内或在最小的接收缓存空间的大小范围内的次数,当该次数大于一阈值时,根据视频包的大小调整各个接收缓存空间的大小,以减少视频丢包及减少视频延时;当前视频包的大小大于上一次接收的视频包的大小且两者的差值大于一预设值时,可预先根据各个接收缓存空间的大小调整各个解码缓存空间的大小,防止视频包的大小突然变大而解码接收缓存空间来不及作调整;当将视频包处理为视频帧后,比较得出视频帧的大小在最大的解码缓存空间的大小范围内的次数,当该次数大于一阈值时,根据视频帧的大小调整各个解码缓存空间的大小,以减少丢帧及减少视频延时。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种动态调整缓存的方法,其特征在于,包括以下步骤:
当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;
判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值是否大于一预设值,获取一判断结果;
若判断结果为否,则当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小;若判断结果均为是,则根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小,再根据所述视频帧的大小调整各个解码缓存空间的大小。
2.根据权利要求1所述的动态调整缓存的方法,其特征在于,所述当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小的步骤之前包括:
预先在显示终端中设置不同大小的接收缓存空间,并根据各个所述接收缓存空间的大小设置对应大小的解码缓存空间。
3.根据权利要求1或2所述的动态调整缓存的方法,其特征在于,所述根据所述视频包的大小调整各个接收缓存空间的大小的步骤包括:
读取所述视频包的包头,获取所述视频包的大小;
依次比较所述视频包的大小与最大的接收缓存空间的大小及最小的接收缓存空间的大小;
若连续N个视频包的大小在最大的接收缓存空间的大小范围内时,或者,若连续N个视频包的大小在最小的接收缓存空间的大小范围内时,则根据所述视频包的大小调整各个接收缓存空间的大小,其中,N为大于0的整数。
4.根据权利要求3所述的动态调整缓存的方法,其特征在于,所述根据所述视频帧的大小调整各个解码缓存空间的大小的步骤包括:
将所述视频包组合成视频帧,获取所述视频帧的大小;
依次比较所述视频帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小;
若连续M帧视频帧的大小在最大的解码缓存空间的大小范围内时,或者,若连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,则根据所述视频帧的大小调整各个解码缓存空间的大小,其中,M为大于0的整数。
5.根据权利要求1所述的动态调整缓存的方法,其特征在于,该方法还包括:对所述视频帧进行解码,获取解码后的视频数据并显示。
6.一种显示终端,其特征在于,包括接收缓存调整模块、判断模块、第一解码缓存调整模块及第二解码缓存调整模块,其中,
所述接收缓存调整模块,用于当显示终端在接收到视频包时,根据所述视频包的大小调整各个接收缓存空间的大小;
所述判断模块,用于判断所述视频包的大小是否大于上一次接收的视频包的大小,且两者的差值是否大于一预设值;
所述第一解码缓存调整模块,用于若判断结果为否,则当将所述视频包处理为视频帧后,根据所述视频帧的大小调整各个解码缓存空间的大小;所述第二解码缓存调整模块,用于若判断结果均为是,则根据各个所述接收缓存空间的大小调整所述各个解码缓存空间的大小。
7.根据权利要求6所述的显示终端,其特征在于,还包括设置模块,用于预先在显示终端中设置不同大小的接收缓存空间,并根据各个所述接收缓存空间的大小设置对应大小的解码缓存空间。
8.根据权利要求6或7所述的显示终端,其特征在于,所述接收缓存调整模块包括读取单元、第一比较单元及第一调整单元,其中,
读取单元,用于读取所述视频包的包头,获取所述视频包的大小;
第一比较单元,用于依次比较所述视频包的大小与最大的接收缓存空间的大小及最小的接收缓存空间的大小;
第一调整单元,用于若连续N个视频包的大小在最大的接收缓存空间的大小范围内时,或者,若连续N个视频包的大小在最小的接收缓存空间的大小范围内时,则根据所述视频包的大小调整各个接收缓存空间的大小,其中,N为大于0的整数。
9.根据权利要求8所述的显示终端,其特征在于,所述第一解码缓存调整模块包括组合单元、第二比较单元及第二调整单元,其中,
组合单元,用于将所述视频包组合成视频帧,获取所述视频帧的大小;
第二比较单元,用于依次比较所述视频帧的大小与最大的解码缓存空间的大小及最小的解码缓存空间的大小;
第二调整单元,用于若连续M帧视频帧的大小在最大的解码缓存空间的大小范围内时,或者,若连续M个视频帧的大小在最小的解码缓存空间的大小范围内时,则根据所述视频帧的大小调整各个解码缓存空间的大小,其中,M为大于0的整数。
10.根据权利要求6所述的显示终端,其特征在于,还包括显示模块,用于对所述视频帧进行解码,获取解码后的视频数据并显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310481938.5A CN103546802B (zh) | 2013-10-15 | 2013-10-15 | 动态调整缓存的方法及显示终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310481938.5A CN103546802B (zh) | 2013-10-15 | 2013-10-15 | 动态调整缓存的方法及显示终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546802A true CN103546802A (zh) | 2014-01-29 |
CN103546802B CN103546802B (zh) | 2017-07-25 |
Family
ID=49969790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310481938.5A Active CN103546802B (zh) | 2013-10-15 | 2013-10-15 | 动态调整缓存的方法及显示终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546802B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847971A (zh) * | 2016-05-28 | 2016-08-10 | 刘健文 | 一种用于传屏视频的处理方法 |
CN105847946A (zh) * | 2016-05-28 | 2016-08-10 | 刘健文 | 一种传屏视频处理方法 |
CN105872728A (zh) * | 2016-05-28 | 2016-08-17 | 刘健文 | 一种用于多屏互动的传屏视频处理方法 |
CN106060583A (zh) * | 2016-05-31 | 2016-10-26 | 青岛海信宽带多媒体技术有限公司 | 云游戏延时处理方法及装置 |
CN106385620A (zh) * | 2016-10-25 | 2017-02-08 | 浙江红苹果电子有限公司 | 一种基于流媒体的数据平滑输出方法 |
CN107229516A (zh) * | 2016-03-24 | 2017-10-03 | 中兴通讯股份有限公司 | 一种数据处理方法及装置 |
CN107438198A (zh) * | 2016-05-29 | 2017-12-05 | 刘健文 | 一种用于传屏视频的显示终端 |
CN107438197A (zh) * | 2016-05-29 | 2017-12-05 | 刘健文 | 一种显示终端 |
CN107438199A (zh) * | 2016-05-29 | 2017-12-05 | 刘健文 | 一种传屏视频用显示终端 |
CN107517400A (zh) * | 2016-06-15 | 2017-12-26 | 成都鼎桥通信技术有限公司 | 流媒体播放方法及流媒体播放器 |
CN108550103A (zh) * | 2018-03-07 | 2018-09-18 | 浙江华睿科技有限公司 | 一种图像处理方法及装置 |
CN109934762A (zh) * | 2019-02-27 | 2019-06-25 | 珠海亿智电子科技有限公司 | 一种可伸缩线缓存电路实现方案 |
CN111787330A (zh) * | 2020-06-16 | 2020-10-16 | 眸芯科技(上海)有限公司 | 支持解码压缩帧缓存自适应分配的编码方法及应用 |
CN113672293A (zh) * | 2020-04-30 | 2021-11-19 | 华为技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720033A (zh) * | 2009-11-24 | 2010-06-02 | 北京中星微电子有限公司 | 一种视频传输设备及其usb传输的装置及方法 |
US20100228941A1 (en) * | 2009-03-03 | 2010-09-09 | Qualcomm Incorporated | Configurable Cache and Method to Configure Same |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
CN102377662A (zh) * | 2010-08-25 | 2012-03-14 | 北京中星微电子有限公司 | 一种视频监控中面向带宽适应的路由缓存协商方法和系统 |
CN102447973A (zh) * | 2011-10-10 | 2012-05-09 | 华为技术有限公司 | 一种缓存调整的方法、装置和系统 |
CN103279429A (zh) * | 2013-05-24 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种应用感知的分布式全局共享缓存分区方法 |
-
2013
- 2013-10-15 CN CN201310481938.5A patent/CN103546802B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100228941A1 (en) * | 2009-03-03 | 2010-09-09 | Qualcomm Incorporated | Configurable Cache and Method to Configure Same |
CN101720033A (zh) * | 2009-11-24 | 2010-06-02 | 北京中星微电子有限公司 | 一种视频传输设备及其usb传输的装置及方法 |
CN102377662A (zh) * | 2010-08-25 | 2012-03-14 | 北京中星微电子有限公司 | 一种视频监控中面向带宽适应的路由缓存协商方法和系统 |
CN102447973A (zh) * | 2011-10-10 | 2012-05-09 | 华为技术有限公司 | 一种缓存调整的方法、装置和系统 |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
CN103279429A (zh) * | 2013-05-24 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种应用感知的分布式全局共享缓存分区方法 |
Non-Patent Citations (1)
Title |
---|
王西龙,郭会: "基于P2P流媒体的网络视频系统设计", 《西北大学学报》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229516B (zh) * | 2016-03-24 | 2020-12-29 | 中兴通讯股份有限公司 | 一种数据处理方法及装置 |
CN107229516A (zh) * | 2016-03-24 | 2017-10-03 | 中兴通讯股份有限公司 | 一种数据处理方法及装置 |
CN105847946A (zh) * | 2016-05-28 | 2016-08-10 | 刘健文 | 一种传屏视频处理方法 |
CN105872728A (zh) * | 2016-05-28 | 2016-08-17 | 刘健文 | 一种用于多屏互动的传屏视频处理方法 |
CN105847971A (zh) * | 2016-05-28 | 2016-08-10 | 刘健文 | 一种用于传屏视频的处理方法 |
CN107438199A (zh) * | 2016-05-29 | 2017-12-05 | 刘健文 | 一种传屏视频用显示终端 |
CN107438198A (zh) * | 2016-05-29 | 2017-12-05 | 刘健文 | 一种用于传屏视频的显示终端 |
CN107438197A (zh) * | 2016-05-29 | 2017-12-05 | 刘健文 | 一种显示终端 |
CN106060583A (zh) * | 2016-05-31 | 2016-10-26 | 青岛海信宽带多媒体技术有限公司 | 云游戏延时处理方法及装置 |
CN106060583B (zh) * | 2016-05-31 | 2019-06-04 | 青岛海信宽带多媒体技术有限公司 | 云游戏延时处理方法及装置 |
CN107517400A (zh) * | 2016-06-15 | 2017-12-26 | 成都鼎桥通信技术有限公司 | 流媒体播放方法及流媒体播放器 |
CN107517400B (zh) * | 2016-06-15 | 2020-03-24 | 成都鼎桥通信技术有限公司 | 流媒体播放方法及流媒体播放器 |
CN106385620A (zh) * | 2016-10-25 | 2017-02-08 | 浙江红苹果电子有限公司 | 一种基于流媒体的数据平滑输出方法 |
CN106385620B (zh) * | 2016-10-25 | 2019-06-21 | 浙江红苹果电子有限公司 | 一种基于流媒体的数据平滑输出方法 |
CN108550103A (zh) * | 2018-03-07 | 2018-09-18 | 浙江华睿科技有限公司 | 一种图像处理方法及装置 |
CN109934762A (zh) * | 2019-02-27 | 2019-06-25 | 珠海亿智电子科技有限公司 | 一种可伸缩线缓存电路实现方案 |
CN109934762B (zh) * | 2019-02-27 | 2024-05-14 | 珠海亿智电子科技有限公司 | 一种可伸缩线缓存电路实现方法 |
CN113672293A (zh) * | 2020-04-30 | 2021-11-19 | 华为技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
CN113672293B (zh) * | 2020-04-30 | 2024-04-09 | 华为云计算技术有限公司 | 一种基于云手机的媒体数据处理方法以及终端设备 |
CN111787330A (zh) * | 2020-06-16 | 2020-10-16 | 眸芯科技(上海)有限公司 | 支持解码压缩帧缓存自适应分配的编码方法及应用 |
CN111787330B (zh) * | 2020-06-16 | 2022-03-08 | 眸芯科技(上海)有限公司 | 支持解码压缩帧缓存自适应分配的编码方法及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN103546802B (zh) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103546802A (zh) | 动态调整缓存的方法及显示终端 | |
US11355130B2 (en) | Audio coding and decoding methods and devices, and audio coding and decoding system | |
CN202602826U (zh) | 用来传输高分辨率多媒体数据的无线通信系统 | |
KR102154800B1 (ko) | 전자 장치의 데이터 스트리밍 방법 및 그 전자 장치 | |
US9826015B2 (en) | Dynamic and automatic control of latency buffering for audio/video streaming | |
CN102457544B (zh) | 基于互联网的屏幕共享系统中用于采集屏幕图像的方法和系统 | |
US9118729B2 (en) | Method for sharing resource of a videoconference using a video conferencing system | |
US8526882B2 (en) | Data transmission device, system and method using the same | |
CN104618195A (zh) | 带宽估测方法和装置 | |
CN101938653A (zh) | 实时获取电视画面并传送至移动终端的方法、装置及系统 | |
US8977206B2 (en) | Data transmission device, system and method using the same | |
CN104106225A (zh) | 用于将显示单元耦接到智能手机的系统和方法 | |
CN115278903B (zh) | 请求上行资源的方法、中继终端、装置和系统 | |
US20150086184A1 (en) | Reception apparatus and reception method | |
US11115693B2 (en) | Source clock recovery in wireless video systems | |
CN205105347U (zh) | 视频的无线传输设备、视频播放设备及系统 | |
US20140013362A1 (en) | Method for implementing digital television technology and wireless fidelity hot spot apparatus | |
CN104219470B (zh) | 数字电视接收装置及数字电视播放方法 | |
US20120059905A1 (en) | Method and apparatus for controlling data usage of mobile terminal | |
CN104333763A (zh) | 一种视频控制方法 | |
CN101815073A (zh) | 一种嵌入式蓝牙-以太网服务器 | |
CN103945248A (zh) | 一种广播电视与移动通信的统一接入方法及装置 | |
CN104639979A (zh) | 视频分享方法及系统 | |
CN102065146A (zh) | 用于优化嵌入式终端在p2p应用中的存储效率的方法与设备 | |
CN101720033B (zh) | 一种视频传输设备及其usb传输的装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |